Coverage Report

Created: 2024-07-12 01:34

/src/scnlib/include/scn/scan.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright 2017 Elias Kosunen
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     https://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
//
15
// This file is a part of scnlib:
16
//     https://github.com/eliaskosunen/scnlib
17
18
#pragma once
19
20
// Includes <cassert>, <cstddef>, <cstdint>, and <type_traits>
21
#include <scn/fwd.h>
22
23
#include <array>
24
#include <cstdio>
25
#include <cstring>
26
#include <iterator>
27
#include <limits>
28
#include <optional>
29
#include <string>
30
#include <string_view>
31
#include <tuple>
32
33
/////////////////////////////////////////////////////////////////
34
// <expected> implementation
35
/////////////////////////////////////////////////////////////////
36
37
// The following implementation of expected is based on TartanLlama/expected,
38
// but is heavily modified.
39
//
40
// The original source is here:
41
//     https://github.com/TartanLlama/expected
42
// which is licensed under CC0 (Public Domain).
43
44
namespace scn {
45
SCN_BEGIN_NAMESPACE
46
47
/////////////////////////////////////////////////////////////////
48
// Metaprogramming facilities
49
/////////////////////////////////////////////////////////////////
50
51
namespace detail {
52
53
template <typename T>
54
using integer_type_for_char =
55
    std::conditional_t<std::is_signed_v<T>, int, unsigned>;
56
57
template <typename T, template <typename...> class Templ>
58
struct is_specialization_of_impl : std::false_type {};
59
template <typename... T, template <typename...> class Templ>
60
struct is_specialization_of_impl<Templ<T...>, Templ> : std::true_type {};
61
62
template <typename T, template <typename...> class Templ>
63
using is_specialization_of =
64
    is_specialization_of_impl<remove_cvref_t<T>, Templ>;
65
template <typename T, template <typename...> class Templ>
66
inline constexpr bool is_specialization_of_v =
67
    is_specialization_of<T, Templ>::value;
68
69
// from mp11:
70
71
template <typename T>
72
struct mp_identity {
73
    using type = T;
74
};
75
template <typename T>
76
using mp_identity_t = typename mp_identity<T>::type;
77
78
template <bool B>
79
using mp_bool = std::integral_constant<bool, B>;
80
template <typename T>
81
using mp_to_bool = mp_bool<static_cast<bool>(T::value)>;
82
template <typename T>
83
using mp_not = mp_bool<!T::value>;
84
85
template <bool C, typename T, typename... E>
86
struct mp_if_c_impl;
87
template <typename T, typename... E>
88
struct mp_if_c_impl<true, T, E...> {
89
    using type = T;
90
};
91
template <typename T, typename E>
92
struct mp_if_c_impl<false, T, E> {
93
    using type = E;
94
};
95
96
template <bool C, typename T, typename... E>
97
using mp_if_c = typename mp_if_c_impl<C, T, E...>::type;
98
template <typename C, typename T, typename... E>
99
using mp_if = typename mp_if_c_impl<static_cast<bool>(C::value), T, E...>::type;
100
101
template <template <typename...> class F, typename... T>
102
struct mp_valid_impl {
103
    template <template <typename...> class G, typename = G<T...>>
104
    static std::true_type check(int);
105
    template <template <typename...> class>
106
    static std::false_type check(...);
107
108
    using type = decltype(check<F>(0));
109
};
110
111
template <template <typename...> class F, typename... T>
112
using mp_valid = typename mp_valid_impl<F, T...>::type;
113
template <template <typename...> class F, typename... T>
114
inline constexpr bool mp_valid_v = mp_valid<F, T...>::value;
115
116
struct mp_nonesuch {};
117
template <template <typename...> class F, typename... T>
118
struct mp_defer_impl {
119
    using type = F<T...>;
120
};
121
122
template <template <typename...> class F, typename... T>
123
using mp_defer = mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_nonesuch>;
124
125
template <bool C, class T, template <class...> class F, class... U>
126
struct mp_eval_if_c_impl;
127
128
template <class T, template <class...> class F, class... U>
129
struct mp_eval_if_c_impl<true, T, F, U...> {
130
    using type = T;
131
};
132
133
template <class T, template <class...> class F, class... U>
134
struct mp_eval_if_c_impl<false, T, F, U...> : mp_defer<F, U...> {};
135
136
template <bool C, class T, template <class...> class F, class... U>
137
using mp_eval_if_c = typename mp_eval_if_c_impl<C, T, F, U...>::type;
138
template <class C, class T, template <class...> class F, class... U>
139
using mp_eval_if =
140
    typename mp_eval_if_c_impl<static_cast<bool>(C::value), T, F, U...>::type;
141
template <class C, class T, class Q, class... U>
142
using mp_eval_if_q = typename mp_eval_if_c_impl<static_cast<bool>(C::value),
143
                                                T,
144
                                                Q::template fn,
145
                                                U...>::type;
146
147
// mp_eval_if_not
148
template <class C, class T, template <class...> class F, class... U>
149
using mp_eval_if_not = mp_eval_if<mp_not<C>, T, F, U...>;
150
template <class C, class T, class Q, class... U>
151
using mp_eval_if_not_q = mp_eval_if<mp_not<C>, T, Q::template fn, U...>;
152
153
// mp_eval_or
154
template <class T, template <class...> class F, class... U>
155
using mp_eval_or = mp_eval_if_not<mp_valid<F, U...>, T, F, U...>;
156
template <class T, class Q, class... U>
157
using mp_eval_or_q = mp_eval_or<T, Q::template fn, U...>;
158
159
// mp_valid_and_true
160
template <template <class...> class F, class... T>
161
using mp_valid_and_true = mp_eval_or<std::false_type, F, T...>;
162
template <class Q, class... T>
163
using mp_valid_and_true_q = mp_valid_and_true<Q::template fn, T...>;
164
165
// extension
166
template <template <typename...> class F, typename... T>
167
using mp_valid_result =
168
    mp_if<mp_valid<F, T...>, mp_defer_impl<F, T...>, mp_identity<void>>;
169
template <template <typename...> class F, typename... T>
170
using mp_valid_result_t = typename mp_valid_result<F, T...>::type;
171
172
/////////////////////////////////////////////////////////////////
173
// pointer_traits and to_address
174
/////////////////////////////////////////////////////////////////
175
176
template <typename Ptr, typename>
177
struct pointer_traits {};
178
179
template <typename T>
180
struct pointer_traits<T*, void> {
181
    using pointer = T*;
182
    using element_type = T;
183
    using difference_type = std::ptrdiff_t;
184
185
    template <typename U>
186
    using rebind = U*;
187
188
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
189
    static constexpr pointer pointer_to(U& r) noexcept
190
    {
191
        return &r;
192
    }
193
194
    SCN_FORCE_INLINE static constexpr pointer to_address(pointer p) noexcept
195
    {
196
        return p;
197
    }
198
};
199
200
template <typename Ptr>
201
using apply_member_difference_type = typename Ptr::difference_type;
202
template <typename Ptr>
203
using get_member_difference_type =
204
    mp_eval_or<std::ptrdiff_t, apply_member_difference_type, Ptr>;
205
206
template <typename Ptr, typename ElementType>
207
struct pointer_traits_generic_base {
208
    using pointer = Ptr;
209
    using element_type = ElementType;
210
211
    using difference_type = get_member_difference_type<Ptr>;
212
    static_assert(std::is_integral_v<difference_type>);
213
214
    // no rebind (TODO?)
215
216
    template <typename P = Ptr>
217
    static auto pointer_to(ElementType& r) -> decltype(P::pointer_to(r))
218
    {
219
        return Ptr::pointer_to(r);
220
    }
221
};
222
223
template <typename It, typename = void>
224
struct wrapped_pointer_iterator;
225
226
#ifdef _GLIBCXX_DEBUG
227
template <typename Elem, typename Container>
228
struct wrapped_pointer_iterator<__gnu_debug::_Safe_iterator<Elem*, Container>> {
229
    SCN_FORCE_INLINE static constexpr auto to_address(
230
        const __gnu_debug::_Safe_iterator<Elem*, Container>& it) noexcept
231
    {
232
        return it.base();
233
    }
234
};
235
#endif
236
#if SCN_STDLIB_GLIBCXX
237
template <typename Elem, typename Container>
238
struct wrapped_pointer_iterator<
239
    __gnu_cxx::__normal_iterator<Elem*, Container>> {
240
    SCN_FORCE_INLINE static constexpr auto to_address(
241
        const __gnu_cxx::__normal_iterator<Elem*, Container>& it) noexcept
242
    {
243
        return it.base();
244
    }
245
};
246
#endif
247
#if SCN_STDLIB_LIBCPP
248
template <typename Elem>
249
struct wrapped_pointer_iterator<std::__wrap_iter<Elem*>> {
250
    SCN_FORCE_INLINE static constexpr auto to_address(
251
        const std::__wrap_iter<Elem*>& it) noexcept
252
    {
253
        return it.base();
254
    }
255
};
256
#endif
257
258
template <typename I>
259
using apply_deref = decltype(*SCN_DECLVAL(I&));
260
template <typename I>
261
using apply_incr = decltype(++SCN_DECLVAL(I&));
262
template <typename I>
263
using apply_member_unwrapped = decltype(SCN_DECLVAL(I&)._Unwrapped());
264
template <typename It>
265
struct wrapped_pointer_iterator<
266
    It,
267
    std::enable_if_t<mp_valid_v<apply_deref, It> &&
268
                     mp_valid_v<apply_incr, It> &&
269
                     mp_valid_v<apply_member_unwrapped, It>>> {
270
    SCN_FORCE_INLINE static constexpr auto to_address(const It& it) noexcept
271
    {
272
        return it._Unwrapped();
273
    }
274
};
275
276
template <typename I>
277
using apply_member_to_address =
278
    decltype(wrapped_pointer_iterator<I>::to_address(SCN_DECLVAL(const I&)));
279
280
template <typename Iterator>
281
struct pointer_traits<
282
    Iterator,
283
    std::enable_if_t<mp_valid_v<apply_member_to_address, Iterator>>>
284
    : pointer_traits_generic_base<
285
          Iterator,
286
          std::remove_reference_t<decltype(*SCN_DECLVAL(Iterator&))>> {
287
    SCN_FORCE_INLINE static constexpr auto to_address(
288
        const Iterator& it) noexcept
289
    {
290
        return wrapped_pointer_iterator<Iterator>::to_address(it);
291
    }
292
};
293
294
template <typename It>
295
using apply_ptr_traits_to_address =
296
    decltype(pointer_traits<It>::to_address(SCN_DECLVAL(const It&)));
297
template <typename It>
298
inline constexpr bool can_make_address_from_iterator =
299
    std::is_pointer_v<mp_valid_result_t<apply_ptr_traits_to_address, It>>;
300
301
template <typename T>
302
SCN_FORCE_INLINE constexpr T* to_address_impl(T* p, priority_tag<2>) noexcept
303
349M
{
304
349M
    return p;
305
349M
}
char const* scn::v3::detail::to_address_impl<char const>(char const*, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
303
109M
{
304
109M
    return p;
305
109M
}
wchar_t const* scn::v3::detail::to_address_impl<wchar_t const>(wchar_t const*, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
303
239M
{
304
239M
    return p;
305
239M
}
306
template <typename Ptr>
307
SCN_FORCE_INLINE constexpr auto to_address_impl(const Ptr& p,
308
                                                priority_tag<1>) noexcept
309
    -> decltype(::scn::detail::pointer_traits<Ptr>::to_address(p))
310
{
311
    return ::scn::detail::pointer_traits<Ptr>::to_address(p);
312
}
313
template <typename Ptr>
314
SCN_FORCE_INLINE constexpr auto to_address_impl(const Ptr& p,
315
                                                priority_tag<0>) noexcept
316
    -> decltype(::scn::detail::to_address_impl(p.operator->(),
317
                                               priority_tag<2>{}))
318
{
319
    return ::scn::detail::to_address_impl(p.operator->(), priority_tag<2>{});
320
}
321
322
template <typename Ptr>
323
SCN_FORCE_INLINE constexpr auto to_address(Ptr&& p) noexcept
324
    -> decltype(::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{}))
325
349M
{
326
349M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
327
349M
}
_ZN3scn2v36detail10to_addressIRPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
325
100M
{
326
100M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
327
100M
}
_ZN3scn2v36detail10to_addressIPKcEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
325
9.32M
{
326
9.32M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
327
9.32M
}
_ZN3scn2v36detail10to_addressIRPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
325
237M
{
326
237M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
327
237M
}
_ZN3scn2v36detail10to_addressIPKwEEDTclgssr3scn6detailE15to_address_implscDtfp_Efp_tlNS1_12priority_tagILm2EEEEEEOT_
Line
Count
Source
325
2.08M
{
326
2.08M
    return ::scn::detail::to_address_impl(SCN_FWD(p), priority_tag<2>{});
327
2.08M
}
328
329
}  // namespace detail
330
331
template <typename E>
332
class SCN_TRIVIAL_ABI unexpected {
333
    static_assert(std::is_destructible_v<E>);
334
335
public:
336
    unexpected() = delete;
337
338
    template <
339
        typename Err = E,
340
        typename = std::enable_if_t<!std::is_same_v<Err, unexpected> &&
341
                                    !std::is_same_v<Err, std::in_place_t> &&
342
                                    std::is_constructible_v<E, Err>>>
343
    explicit constexpr unexpected(Err&& e) noexcept(
344
        std::is_nothrow_constructible_v<E, Err>)
345
        : m_unexpected(std::forward<Err>(e))
346
69.7M
    {
347
69.7M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
348
69.7M
    }
scn::v3::unexpected<scn::v3::scan_error>::unexpected<scn::v3::scan_error&, void>(scn::v3::scan_error&)
Line
Count
Source
346
15.3M
    {
347
15.3M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
348
15.3M
    }
scn::v3::unexpected<scn::v3::scan_error>::unexpected<scn::v3::scan_error, void>(scn::v3::scan_error&&)
Line
Count
Source
346
1.04M
    {
347
1.04M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
348
1.04M
    }
scn::v3::unexpected<scn::v3::impl::eof_error>::unexpected<scn::v3::impl::eof_error, void>(scn::v3::impl::eof_error&&)
Line
Count
Source
346
251k
    {
347
251k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
348
251k
    }
scn::v3::unexpected<scn::v3::impl::eof_error>::unexpected<scn::v3::impl::eof_error&, void>(scn::v3::impl::eof_error&)
Line
Count
Source
346
174k
    {
347
174k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
348
174k
    }
scn::v3::unexpected<scn::v3::impl::parse_error>::unexpected<scn::v3::impl::parse_error, void>(scn::v3::impl::parse_error&&)
Line
Count
Source
346
123k
    {
347
123k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
348
123k
    }
scn::v3::unexpected<scn::v3::impl::parse_error::code>::unexpected<scn::v3::impl::parse_error::code, void>(scn::v3::impl::parse_error::code&&)
Line
Count
Source
346
45.4M
    {
347
45.4M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
348
45.4M
    }
scn::v3::unexpected<scn::v3::impl::parse_error>::unexpected<scn::v3::impl::parse_error&, void>(scn::v3::impl::parse_error&)
Line
Count
Source
346
7.32M
    {
347
7.32M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
348
7.32M
    }
349
350
    template <typename... Args,
351
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
352
    explicit constexpr unexpected(std::in_place_t, Args&&... args) noexcept(
353
        std::is_nothrow_constructible_v<E, Args...>)
354
        : m_unexpected(std::forward<Args>(args)...)
355
77.9M
    {
356
77.9M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
357
77.9M
    }
scn::v3::unexpected<scn::v3::scan_error>::unexpected<scn::v3::scan_error, void>(std::__1::in_place_t, scn::v3::scan_error&&)
Line
Count
Source
355
24.3M
    {
356
24.3M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
357
24.3M
    }
scn::v3::unexpected<scn::v3::impl::eof_error>::unexpected<scn::v3::impl::eof_error, void>(std::__1::in_place_t, scn::v3::impl::eof_error&&)
Line
Count
Source
355
426k
    {
356
426k
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
357
426k
    }
scn::v3::unexpected<scn::v3::impl::parse_error>::unexpected<scn::v3::impl::parse_error, void>(std::__1::in_place_t, scn::v3::impl::parse_error&&)
Line
Count
Source
355
7.69M
    {
356
7.69M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
357
7.69M
    }
scn::v3::unexpected<scn::v3::impl::parse_error>::unexpected<scn::v3::impl::parse_error::code, void>(std::__1::in_place_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
355
45.4M
    {
356
45.4M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_unexpected);
357
45.4M
    }
358
359
    SCN_NODISCARD constexpr E& error() & noexcept
360
109M
    {
361
109M
        return m_unexpected;
362
109M
    }
scn::v3::unexpected<scn::v3::scan_error>::error() &
Line
Count
Source
360
30.4M
    {
361
30.4M
        return m_unexpected;
362
30.4M
    }
scn::v3::unexpected<scn::v3::impl::eof_error>::error() &
Line
Count
Source
360
850k
    {
361
850k
        return m_unexpected;
362
850k
    }
scn::v3::unexpected<scn::v3::impl::parse_error>::error() &
Line
Count
Source
360
33.1M
    {
361
33.1M
        return m_unexpected;
362
33.1M
    }
scn::v3::unexpected<scn::v3::impl::parse_error::code>::error() &
Line
Count
Source
360
45.4M
    {
361
45.4M
        return m_unexpected;
362
45.4M
    }
363
    SCN_NODISCARD constexpr const E& error() const& noexcept
364
0
    {
365
0
        return m_unexpected;
366
0
    }
Unexecuted instantiation: scn::v3::unexpected<scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::unexpected<scn::v3::impl::parse_error>::error() const &
367
368
    SCN_NODISCARD constexpr E&& error() && noexcept
369
    {
370
        return std::move(m_unexpected);
371
    }
372
    SCN_NODISCARD constexpr const E&& error() const&& noexcept
373
    {
374
        return std::move(m_unexpected);
375
    }
376
377
private:
378
    E m_unexpected;
379
};
380
381
template <typename E>
382
unexpected(E) -> unexpected<E>;
383
384
struct unexpect_t {};
385
inline constexpr unexpect_t unexpect{};
386
387
namespace detail {
388
template <typename T, typename... Args>
389
T* construct_at(T* p, Args&&... args) noexcept(
390
    std::is_nothrow_constructible_v<T, Args...>)
391
3.06M
{
392
3.06M
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
393
3.06M
        T(std::forward<Args>(args)...);
394
3.06M
}
scn::v3::unexpected<scn::v3::scan_error>* scn::v3::detail::construct_at<scn::v3::unexpected<scn::v3::scan_error>, std::__1::in_place_t const&, scn::v3::scan_error>(scn::v3::unexpected<scn::v3::scan_error>*, std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
391
385k
{
392
385k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
393
385k
        T(std::forward<Args>(args)...);
394
385k
}
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
391
311k
{
392
311k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
393
311k
        T(std::forward<Args>(args)...);
394
311k
}
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
391
309k
{
392
309k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
393
309k
        T(std::forward<Args>(args)...);
394
309k
}
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
391
724
{
392
724
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
393
724
        T(std::forward<Args>(args)...);
394
724
}
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
391
724
{
392
724
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
393
724
        T(std::forward<Args>(args)...);
394
724
}
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
391
151k
{
392
151k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
393
151k
        T(std::forward<Args>(args)...);
394
151k
}
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
391
167k
{
392
167k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
393
167k
        T(std::forward<Args>(args)...);
394
167k
}
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
391
868k
{
392
868k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
393
868k
        T(std::forward<Args>(args)...);
394
868k
}
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
391
868k
{
392
868k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
393
868k
        T(std::forward<Args>(args)...);
394
868k
}
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
391
1.43k
{
392
1.43k
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
393
1.43k
        T(std::forward<Args>(args)...);
394
1.43k
}
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >* scn::v3::detail::construct_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
391
372
{
392
372
    return ::new (const_cast<void*>(static_cast<const volatile void*>(p)))
393
372
        T(std::forward<Args>(args)...);
394
372
}
395
template <typename T>
396
void destroy_at(T* p) noexcept
397
3.06M
{
398
3.06M
    if constexpr (std::is_array_v<T>) {
399
3.06M
        for (auto& elem : *p) {
400
3.06M
            scn::detail::destroy_at(&elem);
401
3.06M
        }
402
3.06M
    }
403
3.06M
    else {
404
3.06M
        p->~T();
405
3.06M
    }
406
3.06M
}
Unexecuted instantiation: void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v3::detail::destroy_at<scn::v3::unexpected<scn::v3::scan_error> >(scn::v3::unexpected<scn::v3::scan_error>*)
Line
Count
Source
397
385k
{
398
385k
    if constexpr (std::is_array_v<T>) {
399
385k
        for (auto& elem : *p) {
400
385k
            scn::detail::destroy_at(&elem);
401
385k
        }
402
385k
    }
403
385k
    else {
404
385k
        p->~T();
405
385k
    }
406
385k
}
void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
397
311k
{
398
311k
    if constexpr (std::is_array_v<T>) {
399
311k
        for (auto& elem : *p) {
400
311k
            scn::detail::destroy_at(&elem);
401
311k
        }
402
311k
    }
403
311k
    else {
404
311k
        p->~T();
405
311k
    }
406
311k
}
Unexecuted instantiation: void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v3::detail::destroy_at<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
397
309k
{
398
309k
    if constexpr (std::is_array_v<T>) {
399
309k
        for (auto& elem : *p) {
400
309k
            scn::detail::destroy_at(&elem);
401
309k
        }
402
309k
    }
403
309k
    else {
404
309k
        p->~T();
405
309k
    }
406
309k
}
Unexecuted instantiation: void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
397
724
{
398
724
    if constexpr (std::is_array_v<T>) {
399
724
        for (auto& elem : *p) {
400
724
            scn::detail::destroy_at(&elem);
401
724
        }
402
724
    }
403
724
    else {
404
724
        p->~T();
405
724
    }
406
724
}
Unexecuted instantiation: void scn::v3::detail::destroy_at<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
void scn::v3::detail::destroy_at<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
397
724
{
398
724
    if constexpr (std::is_array_v<T>) {
399
724
        for (auto& elem : *p) {
400
724
            scn::detail::destroy_at(&elem);
401
724
        }
402
724
    }
403
724
    else {
404
724
        p->~T();
405
724
    }
406
724
}
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
397
151k
{
398
151k
    if constexpr (std::is_array_v<T>) {
399
151k
        for (auto& elem : *p) {
400
151k
            scn::detail::destroy_at(&elem);
401
151k
        }
402
151k
    }
403
151k
    else {
404
151k
        p->~T();
405
151k
    }
406
151k
}
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
397
167k
{
398
167k
    if constexpr (std::is_array_v<T>) {
399
167k
        for (auto& elem : *p) {
400
167k
            scn::detail::destroy_at(&elem);
401
167k
        }
402
167k
    }
403
167k
    else {
404
167k
        p->~T();
405
167k
    }
406
167k
}
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*)
Line
Count
Source
397
868k
{
398
868k
    if constexpr (std::is_array_v<T>) {
399
868k
        for (auto& elem : *p) {
400
868k
            scn::detail::destroy_at(&elem);
401
868k
        }
402
868k
    }
403
868k
    else {
404
868k
        p->~T();
405
868k
    }
406
868k
}
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*)
Line
Count
Source
397
868k
{
398
868k
    if constexpr (std::is_array_v<T>) {
399
868k
        for (auto& elem : *p) {
400
868k
            scn::detail::destroy_at(&elem);
401
868k
        }
402
868k
    }
403
868k
    else {
404
868k
        p->~T();
405
868k
    }
406
868k
}
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >*)
Line
Count
Source
397
1.43k
{
398
1.43k
    if constexpr (std::is_array_v<T>) {
399
1.43k
        for (auto& elem : *p) {
400
1.43k
            scn::detail::destroy_at(&elem);
401
1.43k
        }
402
1.43k
    }
403
1.43k
    else {
404
1.43k
        p->~T();
405
1.43k
    }
406
1.43k
}
void scn::v3::detail::destroy_at<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >*)
Line
Count
Source
397
372
{
398
372
    if constexpr (std::is_array_v<T>) {
399
372
        for (auto& elem : *p) {
400
372
            scn::detail::destroy_at(&elem);
401
372
        }
402
372
    }
403
372
    else {
404
372
        p->~T();
405
372
    }
406
372
}
407
408
struct deferred_init_tag_t {};
409
static constexpr deferred_init_tag_t deferred_init_tag{};
410
411
template <typename T,
412
          typename E,
413
          bool IsTriviallyDestructible = std::is_trivially_destructible_v<T> &&
414
                                         std::is_trivially_destructible_v<E>>
415
struct expected_storage_base;
416
417
template <typename T, typename E>
418
struct SCN_TRIVIAL_ABI expected_storage_base<T, E, true> {
419
    constexpr expected_storage_base() noexcept(
420
        std::is_nothrow_default_constructible_v<T>)
421
        : m_value(T{}), m_has_value(true)
422
    {
423
    }
424
425
    constexpr explicit expected_storage_base(deferred_init_tag_t) noexcept
426
        : m_deferred_init(), m_has_value(false)
427
    {
428
    }
429
430
    template <typename... Args,
431
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
432
    constexpr explicit expected_storage_base(
433
        std::in_place_t,
434
        Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>)
435
        : m_value(std::forward<Args>(args)...), m_has_value(true)
436
234M
    {
437
234M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>(std::__1::in_place_t, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
436
5.19M
    {
437
5.19M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>&&)
Line
Count
Source
436
296k
    {
437
296k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>&&)
Line
Count
Source
436
283k
    {
437
283k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Line
Count
Source
436
382k
    {
437
382k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Line
Count
Source
436
324k
    {
437
324k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>&&)
Line
Count
Source
436
390k
    {
437
390k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>&&)
Line
Count
Source
436
328k
    {
437
328k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>(std::__1::in_place_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
436
5.22M
    {
437
5.22M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>&&)
Line
Count
Source
436
297k
    {
437
297k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>&&)
Line
Count
Source
436
284k
    {
437
284k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>&&)
Line
Count
Source
436
383k
    {
437
383k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>&&)
Line
Count
Source
436
326k
    {
437
326k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>&&)
Line
Count
Source
436
390k
    {
437
390k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>&&)
Line
Count
Source
436
330k
    {
437
330k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
436
1.90M
    {
437
1.90M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>&&)
Line
Count
Source
436
595
    {
437
595
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>&&)
Line
Count
Source
436
500
    {
437
500
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Line
Count
Source
436
711
    {
437
711
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Line
Count
Source
436
564
    {
437
564
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>&&)
Line
Count
Source
436
864
    {
437
864
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>&&)
Line
Count
Source
436
694
    {
437
694
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>(std::__1::in_place_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
436
1.03M
    {
437
1.03M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>&&)
Line
Count
Source
436
595
    {
437
595
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>&&)
Line
Count
Source
436
500
    {
437
500
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>&&)
Line
Count
Source
436
711
    {
437
711
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>&&)
Line
Count
Source
436
564
    {
437
564
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>&&)
Line
Count
Source
436
864
    {
437
864
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>&&)
Line
Count
Source
436
694
    {
437
694
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
436
22.1M
    {
437
22.1M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
436
3.54M
    {
437
3.54M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
436
28.3M
    {
437
28.3M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
436
6.32M
    {
437
6.32M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
436
27.7M
    {
437
27.7M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>&&)
Line
Count
Source
436
7.82M
    {
437
7.82M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
436
2.45M
    {
437
2.45M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
436
5.63M
    {
437
5.63M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
436
15.9M
    {
437
15.9M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
436
2.16M
    {
437
2.16M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
436
2.16M
    {
437
2.16M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
436
12.7M
    {
437
12.7M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
436
9.25k
    {
437
9.25k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>&&)
Line
Count
Source
436
9.16k
    {
437
9.16k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
436
4.23k
    {
437
4.23k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<char const*, long>, void>(std::__1::in_place_t, std::__1::pair<char const*, long>&&)
Line
Count
Source
436
7.62M
    {
437
7.62M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&&)
Line
Count
Source
436
2.03k
    {
437
2.03k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
436
2.84k
    {
437
2.84k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
436
1.52k
    {
437
1.52k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
436
1.52k
    {
437
1.52k
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&)
Line
Count
Source
436
1.81M
    {
437
1.81M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
436
5.26M
    {
437
5.26M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::expected_storage_base<char const*, void>(std::__1::in_place_t, char const*&&)
Line
Count
Source
436
1.29M
    {
437
1.29M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
436
2.16M
    {
437
2.16M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
436
2.16M
    {
437
2.16M
    }
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::expected_storage_base<long, void>(std::__1::in_place_t, long&&)
Line
Count
Source
436
25.5M
    {
437
25.5M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
436
3.17M
    {
437
3.17M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
436
153k
    {
437
153k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&&)
Line
Count
Source
436
508
    {
437
508
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<char const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
436
3.01M
    {
437
3.01M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::expected_storage_base<char const*&, void>(std::__1::in_place_t, char const*&)
Line
Count
Source
436
152k
    {
437
152k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::expected_storage_base<std::__1::regex_constants::syntax_option_type, void>(std::__1::in_place_t, std::__1::regex_constants::syntax_option_type&&)
Line
Count
Source
436
68.5k
    {
437
68.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
436
1.01k
    {
437
1.01k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&)
Line
Count
Source
436
2.06k
    {
437
2.06k
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::expected_storage_base<char const* const&, void>(std::__1::in_place_t, char const* const&)
Line
Count
Source
436
7.03k
    {
437
7.03k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
436
4.39M
    {
437
4.39M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&)
Line
Count
Source
436
1.46M
    {
437
1.46M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Line
Count
Source
436
11.1k
    {
437
11.1k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
436
842k
    {
437
842k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
436
1.61M
    {
437
1.61M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
436
351k
    {
437
351k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
436
351k
    {
437
351k
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
436
5.08M
    {
437
5.08M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
436
3.43k
    {
437
3.43k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>&&)
Line
Count
Source
436
2.52k
    {
437
2.52k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
436
976
    {
437
976
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, long>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, long>&&)
Line
Count
Source
436
2.20M
    {
437
2.20M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&&)
Line
Count
Source
436
1.03k
    {
437
1.03k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
436
1.44k
    {
437
1.44k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
436
770
    {
437
770
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
436
770
    {
437
770
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&)
Line
Count
Source
436
6.42k
    {
437
6.42k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
436
843k
    {
437
843k
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_storage_base<wchar_t const*, void>(std::__1::in_place_t, wchar_t const*&&)
Line
Count
Source
436
1.51M
    {
437
1.51M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
436
355k
    {
437
355k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, void>(std::__1::in_place_t, scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
436
355k
    {
437
355k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
436
484k
    {
437
484k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&&)
Line
Count
Source
436
264
    {
437
264
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, void>(std::__1::in_place_t, std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
436
486k
    {
437
486k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::expected_storage_base<wchar_t const*&, void>(std::__1::in_place_t, wchar_t const*&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(std::__1::in_place_t, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
436
74
    {
437
74
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&)
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::expected_storage_base<wchar_t const* const&, void>(std::__1::in_place_t, wchar_t const* const&)
Line
Count
Source
436
1.28k
    {
437
1.28k
    }
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::expected_storage_base<int, void>(std::__1::in_place_t, int&&)
Line
Count
Source
436
295k
    {
437
295k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t, scn::v3::scan_error, true>::expected_storage_base<wchar_t, void>(std::__1::in_place_t, wchar_t&&)
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Line
Count
Source
436
3.79k
    {
437
3.79k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Line
Count
Source
436
3.62k
    {
437
3.62k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Line
Count
Source
436
1.62k
    {
437
1.62k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(std::__1::in_place_t, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Line
Count
Source
436
1.62k
    {
437
1.62k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>&&)
Line
Count
Source
436
904k
    {
437
904k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>&&)
Line
Count
Source
436
981k
    {
437
981k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>&&)
Line
Count
Source
436
994k
    {
437
994k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>&&)
Line
Count
Source
436
956k
    {
437
956k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>&&)
Line
Count
Source
436
1.03M
    {
437
1.03M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>&&)
Line
Count
Source
436
1.04M
    {
437
1.04M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>&&)
Line
Count
Source
436
53.1k
    {
437
53.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>&&)
Line
Count
Source
436
53.7k
    {
437
53.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>&&)
Line
Count
Source
436
54.5k
    {
437
54.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>&&)
Line
Count
Source
436
53.0k
    {
437
53.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>&&)
Line
Count
Source
436
53.5k
    {
437
53.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>&&)
Line
Count
Source
436
54.4k
    {
437
54.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Line
Count
Source
436
151k
    {
437
151k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Line
Count
Source
436
868k
    {
437
868k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>&&)
Line
Count
Source
436
222
    {
437
222
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>&&)
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>&&)
Line
Count
Source
436
112
    {
437
112
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>&&)
438
439
    template <typename... Args,
440
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
441
    constexpr explicit expected_storage_base(
442
        unexpect_t,
443
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
444
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
445
          m_has_value(false)
446
77.6M
    {
447
77.6M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
719k
    {
447
719k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
40.8k
    {
447
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
40.8k
    {
447
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
72.6k
    {
447
72.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
72.6k
    {
447
72.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
40.8k
    {
447
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
40.8k
    {
447
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
423k
    {
447
423k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
40.8k
    {
447
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
40.8k
    {
447
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
40.8k
    {
447
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
40.8k
    {
447
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
40.8k
    {
447
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
40.8k
    {
447
40.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
1.44M
    {
447
1.44M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
81.7k
    {
447
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
81.7k
    {
447
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
145k
    {
447
145k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
145k
    {
447
145k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
81.7k
    {
447
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
81.7k
    {
447
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
846k
    {
447
846k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
81.7k
    {
447
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
81.7k
    {
447
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
81.7k
    {
447
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
81.7k
    {
447
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
81.7k
    {
447
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
81.7k
    {
447
81.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
3.98M
    {
447
3.98M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
2.67M
    {
447
2.67M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
4.11M
    {
447
4.11M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
2.55M
    {
447
2.55M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
446
171k
    {
447
171k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
44.8k
    {
447
44.8k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
446
3.32M
    {
447
3.32M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
446
22.7M
    {
447
22.7M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
446
535
    {
447
535
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
446
63.5k
    {
447
63.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
446
380
    {
447
380
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
134
    {
447
134
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
13.1k
    {
447
13.1k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
39.2k
    {
447
39.2k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
446
1.20k
    {
447
1.20k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
446
7.98k
    {
447
7.98k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
446
3.06M
    {
447
3.06M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
446
16.3M
    {
447
16.3M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
446
168
    {
447
168
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
3.95M
    {
447
3.95M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
446
94.0k
    {
447
94.0k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
5.13k
    {
447
5.13k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
446
655k
    {
447
655k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
446
3.54M
    {
447
3.54M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
446
66
    {
447
66
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
446
95.9k
    {
447
95.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
446
172
    {
447
172
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
4.21k
    {
447
4.21k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
6.15k
    {
447
6.15k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
446
608
    {
447
608
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
446
4.06k
    {
447
4.06k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
446
656k
    {
447
656k
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_storage_base<scn::v3::impl::parse_error::code, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error::code&&)
Line
Count
Source
446
2.78M
    {
447
2.78M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
446
18
    {
447
18
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Line
Count
Source
446
220
    {
447
220
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
134
    {
447
134
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_storage_base<scn::v3::impl::eof_error, void>(scn::v3::unexpect_t, scn::v3::impl::eof_error&&)
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
54.4k
    {
447
54.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
86.2k
    {
447
86.2k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
54.4k
    {
447
54.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
54.4k
    {
447
54.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
54.4k
    {
447
54.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
54.4k
    {
447
54.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
108k
    {
447
108k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
172k
    {
447
172k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
108k
    {
447
108k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
108k
    {
447
108k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
108k
    {
447
108k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
108k
    {
447
108k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
44.9k
    {
447
44.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
92.4k
    {
447
92.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
31.5k
    {
447
31.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
31.8k
    {
447
31.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
31.8k
    {
447
31.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
63.5k
    {
447
63.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
63.6k
    {
447
63.6k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v3::scan_error, true>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
446
63.6k
    {
447
63.6k
    }
448
449
    constexpr T& get_value() & noexcept
450
221M
    {
451
221M
        return m_value;
452
221M
    }
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
32.1M
    {
451
32.1M
        return m_value;
452
32.1M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
5.19M
    {
451
5.19M
        return m_value;
452
5.19M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
296k
    {
451
296k
        return m_value;
452
296k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
283k
    {
451
283k
        return m_value;
452
283k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
382k
    {
451
382k
        return m_value;
452
382k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
324k
    {
451
324k
        return m_value;
452
324k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
390k
    {
451
390k
        return m_value;
452
390k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
328k
    {
451
328k
        return m_value;
452
328k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
5.22M
    {
451
5.22M
        return m_value;
452
5.22M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
297k
    {
451
297k
        return m_value;
452
297k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
284k
    {
451
284k
        return m_value;
452
284k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
383k
    {
451
383k
        return m_value;
452
383k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
326k
    {
451
326k
        return m_value;
452
326k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
390k
    {
451
390k
        return m_value;
452
390k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
330k
    {
451
330k
        return m_value;
452
330k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
1.90M
    {
451
1.90M
        return m_value;
452
1.90M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
595
    {
451
595
        return m_value;
452
595
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
500
    {
451
500
        return m_value;
452
500
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
711
    {
451
711
        return m_value;
452
711
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
564
    {
451
564
        return m_value;
452
564
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
864
    {
451
864
        return m_value;
452
864
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
694
    {
451
694
        return m_value;
452
694
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
1.03M
    {
451
1.03M
        return m_value;
452
1.03M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
595
    {
451
595
        return m_value;
452
595
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
500
    {
451
500
        return m_value;
452
500
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
711
    {
451
711
        return m_value;
452
711
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
564
    {
451
564
        return m_value;
452
564
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
864
    {
451
864
        return m_value;
452
864
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
694
    {
451
694
        return m_value;
452
694
    }
scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
68.5k
    {
451
68.5k
        return m_value;
452
68.5k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
18.0M
    {
451
18.0M
        return m_value;
452
18.0M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
3.16M
    {
451
3.16M
        return m_value;
452
3.16M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
25.5M
    {
451
25.5M
        return m_value;
452
25.5M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
5.99M
    {
451
5.99M
        return m_value;
452
5.99M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
7.07M
    {
451
7.07M
        return m_value;
452
7.07M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
7.82M
    {
451
7.82M
        return m_value;
452
7.82M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::get_value() &
Line
Count
Source
450
21.7M
    {
451
21.7M
        return m_value;
452
21.7M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
5.63M
    {
451
5.63M
        return m_value;
452
5.63M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
2.16M
    {
451
2.16M
        return m_value;
452
2.16M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
2.16M
    {
451
2.16M
        return m_value;
452
2.16M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
19.2M
    {
451
19.2M
        return m_value;
452
19.2M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
6.21k
    {
451
6.21k
        return m_value;
452
6.21k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
9.16k
    {
451
9.16k
        return m_value;
452
9.16k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
7.62M
    {
451
7.62M
        return m_value;
452
7.62M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::get_value() &
Line
Count
Source
450
2.84k
    {
451
2.84k
        return m_value;
452
2.84k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
2.03k
    {
451
2.03k
        return m_value;
452
2.03k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
1.52k
    {
451
1.52k
        return m_value;
452
1.52k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
1.52k
    {
451
1.52k
        return m_value;
452
1.52k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
6.29k
    {
451
6.29k
        return m_value;
452
6.29k
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::get_value() &
Line
Count
Source
450
3.99M
    {
451
3.99M
        return m_value;
452
3.99M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
5.26M
    {
451
5.26M
        return m_value;
452
5.26M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
2.16M
    {
451
2.16M
        return m_value;
452
2.16M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
2.16M
    {
451
2.16M
        return m_value;
452
2.16M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
3.17M
    {
451
3.17M
        return m_value;
452
3.17M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
508
    {
451
508
        return m_value;
452
508
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
3.01M
    {
451
3.01M
        return m_value;
452
3.01M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
1.46M
    {
451
1.46M
        return m_value;
452
1.46M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::get_value() &
Line
Count
Source
450
1.79M
    {
451
1.79M
        return m_value;
452
1.79M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
842k
    {
451
842k
        return m_value;
452
842k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
351k
    {
451
351k
        return m_value;
452
351k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
351k
    {
451
351k
        return m_value;
452
351k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
3.38M
    {
451
3.38M
        return m_value;
452
3.38M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
4.05M
    {
451
4.05M
        return m_value;
452
4.05M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
1.82k
    {
451
1.82k
        return m_value;
452
1.82k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
2.52k
    {
451
2.52k
        return m_value;
452
2.52k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
2.20M
    {
451
2.20M
        return m_value;
452
2.20M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::get_value() &
Line
Count
Source
450
1.44k
    {
451
1.44k
        return m_value;
452
1.44k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
1.03k
    {
451
1.03k
        return m_value;
452
1.03k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
770
    {
451
770
        return m_value;
452
770
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
770
    {
451
770
        return m_value;
452
770
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
976
    {
451
976
        return m_value;
452
976
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::get_value() &
Line
Count
Source
450
1.58M
    {
451
1.58M
        return m_value;
452
1.58M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
843k
    {
451
843k
        return m_value;
452
843k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
355k
    {
451
355k
        return m_value;
452
355k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
355k
    {
451
355k
        return m_value;
452
355k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
484k
    {
451
484k
        return m_value;
452
484k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
264
    {
451
264
        return m_value;
452
264
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
486k
    {
451
486k
        return m_value;
452
486k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
3.79k
    {
451
3.79k
        return m_value;
452
3.79k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
3.62k
    {
451
3.62k
        return m_value;
452
3.62k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() &
Line
Count
Source
450
1.62k
    {
451
1.62k
        return m_value;
452
1.62k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
1.62k
    {
451
1.62k
        return m_value;
452
1.62k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
904k
    {
451
904k
        return m_value;
452
904k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
981k
    {
451
981k
        return m_value;
452
981k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
994k
    {
451
994k
        return m_value;
452
994k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
956k
    {
451
956k
        return m_value;
452
956k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
1.03M
    {
451
1.03M
        return m_value;
452
1.03M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
1.04M
    {
451
1.04M
        return m_value;
452
1.04M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
53.1k
    {
451
53.1k
        return m_value;
452
53.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
53.7k
    {
451
53.7k
        return m_value;
452
53.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
54.5k
    {
451
54.5k
        return m_value;
452
54.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
53.0k
    {
451
53.0k
        return m_value;
452
53.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
53.5k
    {
451
53.5k
        return m_value;
452
53.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
54.4k
    {
451
54.4k
        return m_value;
452
54.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
150k
    {
451
150k
        return m_value;
452
150k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::get_value() &
Line
Count
Source
450
868k
    {
451
868k
        return m_value;
452
868k
    }
453
    constexpr const T& get_value() const& noexcept
454
0
    {
455
0
        return m_value;
456
0
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_value() const &
457
    constexpr T&& get_value() && noexcept
458
    {
459
        return std::move(m_value);
460
    }
461
    constexpr const T&& get_value() const&& noexcept
462
    {
463
        return std::move(m_value);
464
    }
465
466
    constexpr unexpected<E>& get_unexpected() & noexcept
467
40.0M
    {
468
40.0M
        return m_unexpected;
469
40.0M
    }
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
3.95M
    {
468
3.95M
        return m_unexpected;
469
3.95M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
719k
    {
468
719k
        return m_unexpected;
469
719k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
423k
    {
468
423k
        return m_unexpected;
469
423k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
1.44M
    {
468
1.44M
        return m_unexpected;
469
1.44M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
846k
    {
468
846k
        return m_unexpected;
469
846k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
467
171k
    {
468
171k
        return m_unexpected;
469
171k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
467
94.0k
    {
468
94.0k
        return m_unexpected;
469
94.0k
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
1.25M
    {
468
1.25M
        return m_unexpected;
469
1.25M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
2.07M
    {
468
2.07M
        return m_unexpected;
469
2.07M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
467
62.6k
    {
468
62.6k
        return m_unexpected;
469
62.6k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
44.8k
    {
468
44.8k
        return m_unexpected;
469
44.8k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
467
10.9M
    {
468
10.9M
        return m_unexpected;
469
10.9M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
957k
    {
468
957k
        return m_unexpected;
469
957k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
467
350
    {
468
350
        return m_unexpected;
469
350
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
134
    {
468
134
        return m_unexpected;
469
134
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
39.2k
    {
468
39.2k
        return m_unexpected;
469
39.2k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
467
5.42k
    {
468
5.42k
        return m_unexpected;
469
5.42k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
12.6k
    {
468
12.6k
        return m_unexpected;
469
12.6k
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
467
10.1M
    {
468
10.1M
        return m_unexpected;
469
10.1M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
5.13k
    {
468
5.13k
        return m_unexpected;
469
5.13k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
467
2.51M
    {
468
2.51M
        return m_unexpected;
469
2.51M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
2.18M
    {
468
2.18M
        return m_unexpected;
469
2.18M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
467
172
    {
468
172
        return m_unexpected;
469
172
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
467
95.9k
    {
468
95.9k
        return m_unexpected;
469
95.9k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
6.15k
    {
468
6.15k
        return m_unexpected;
469
6.15k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
467
2.71k
    {
468
2.71k
        return m_unexpected;
469
2.71k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
3.95k
    {
468
3.95k
        return m_unexpected;
469
3.95k
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::get_unexpected() &
Line
Count
Source
467
2.04M
    {
468
2.04M
        return m_unexpected;
469
2.04M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::get_unexpected() &
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Line
Count
Source
467
134
    {
468
134
        return m_unexpected;
469
134
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error, true>::get_unexpected() &
Line
Count
Source
467
134
    {
468
134
        return m_unexpected;
469
134
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error, true>::get_unexpected() &
470
    constexpr const unexpected<E>& get_unexpected() const& noexcept
471
0
    {
472
0
        return m_unexpected;
473
0
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::get_unexpected() const &
474
    constexpr unexpected<E>&& get_unexpected() && noexcept
475
    {
476
        return std::move(m_unexpected);
477
    }
478
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
479
    {
480
        return std::move(m_unexpected);
481
    }
482
483
    SCN_NODISCARD constexpr bool has_value() const noexcept
484
602M
    {
485
602M
        return m_has_value;
486
602M
    }
scn::v3::detail::expected_storage_base<long, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
73.3M
    {
485
73.3M
        return m_has_value;
486
73.3M
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
11.8M
    {
485
11.8M
        return m_has_value;
486
11.8M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
634k
    {
485
634k
        return m_has_value;
486
634k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
607k
    {
485
607k
        return m_has_value;
486
607k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
806k
    {
485
806k
        return m_has_value;
486
806k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
690k
    {
485
690k
        return m_has_value;
486
690k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
822k
    {
485
822k
        return m_has_value;
486
822k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
698k
    {
485
698k
        return m_has_value;
486
698k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
11.2M
    {
485
11.2M
        return m_has_value;
486
11.2M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
636k
    {
485
636k
        return m_has_value;
486
636k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
609k
    {
485
609k
        return m_has_value;
486
609k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
806k
    {
485
806k
        return m_has_value;
486
806k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
693k
    {
485
693k
        return m_has_value;
486
693k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
822k
    {
485
822k
        return m_has_value;
486
822k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
701k
    {
485
701k
        return m_has_value;
486
701k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
6.69M
    {
485
6.69M
        return m_has_value;
486
6.69M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
82.9k
    {
485
82.9k
        return m_has_value;
486
82.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
82.7k
    {
485
82.7k
        return m_has_value;
486
82.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
83.1k
    {
485
83.1k
        return m_has_value;
486
83.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
82.8k
    {
485
82.8k
        return m_has_value;
486
82.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
83.4k
    {
485
83.4k
        return m_has_value;
486
83.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
83.1k
    {
485
83.1k
        return m_has_value;
486
83.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
3.75M
    {
485
3.75M
        return m_has_value;
486
3.75M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
82.9k
    {
485
82.9k
        return m_has_value;
486
82.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
82.7k
    {
485
82.7k
        return m_has_value;
486
82.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
83.1k
    {
485
83.1k
        return m_has_value;
486
83.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
82.8k
    {
485
82.8k
        return m_has_value;
486
82.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
83.4k
    {
485
83.4k
        return m_has_value;
486
83.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
83.1k
    {
485
83.1k
        return m_has_value;
486
83.1k
    }
scn::v3::detail::expected_storage_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
137k
    {
485
137k
        return m_has_value;
486
137k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<wchar_t, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
46.1M
    {
485
46.1M
        return m_has_value;
486
46.1M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
7.74M
    {
485
7.74M
        return m_has_value;
486
7.74M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
62.3M
    {
485
62.3M
        return m_has_value;
486
62.3M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
17.4M
    {
485
17.4M
        return m_has_value;
486
17.4M
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
19.9M
    {
485
19.9M
        return m_has_value;
486
19.9M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
15.7M
    {
485
15.7M
        return m_has_value;
486
15.7M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::has_value() const
Line
Count
Source
484
83.5M
    {
485
83.5M
        return m_has_value;
486
83.5M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
11.2M
    {
485
11.2M
        return m_has_value;
486
11.2M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
4.32M
    {
485
4.32M
        return m_has_value;
486
4.32M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
4.32M
    {
485
4.32M
        return m_has_value;
486
4.32M
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
49.6M
    {
485
49.6M
        return m_has_value;
486
49.6M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
16.1k
    {
485
16.1k
        return m_has_value;
486
16.1k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
18.6k
    {
485
18.6k
        return m_has_value;
486
18.6k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
15.3M
    {
485
15.3M
        return m_has_value;
486
15.3M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::has_value() const
Line
Count
Source
484
21.8k
    {
485
21.8k
        return m_has_value;
486
21.8k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
4.07k
    {
485
4.07k
        return m_has_value;
486
4.07k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
3.05k
    {
485
3.05k
        return m_has_value;
486
3.05k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
3.05k
    {
485
3.05k
        return m_has_value;
486
3.05k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
38.9k
    {
485
38.9k
        return m_has_value;
486
38.9k
    }
scn::v3::detail::expected_storage_base<char const*, scn::v3::impl::parse_error, true>::has_value() const
Line
Count
Source
484
42.5M
    {
485
42.5M
        return m_has_value;
486
42.5M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
10.5M
    {
485
10.5M
        return m_has_value;
486
10.5M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
4.32M
    {
485
4.32M
        return m_has_value;
486
4.32M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
4.32M
    {
485
4.32M
        return m_has_value;
486
4.32M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
6.35M
    {
485
6.35M
        return m_has_value;
486
6.35M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
1.01k
    {
485
1.01k
        return m_has_value;
486
1.01k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
6.03M
    {
485
6.03M
        return m_has_value;
486
6.03M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
2.94M
    {
485
2.94M
        return m_has_value;
486
2.94M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::has_value() const
Line
Count
Source
484
11.4M
    {
485
11.4M
        return m_has_value;
486
11.4M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
1.68M
    {
485
1.68M
        return m_has_value;
486
1.68M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
703k
    {
485
703k
        return m_has_value;
486
703k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
703k
    {
485
703k
        return m_has_value;
486
703k
    }
scn::v3::detail::expected_storage_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
12.2M
    {
485
12.2M
        return m_has_value;
486
12.2M
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
9.33M
    {
485
9.33M
        return m_has_value;
486
9.33M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
5.60k
    {
485
5.60k
        return m_has_value;
486
5.60k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::has_value() const
Unexecuted instantiation: scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
5.04k
    {
485
5.04k
        return m_has_value;
486
5.04k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
4.43M
    {
485
4.43M
        return m_has_value;
486
4.43M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::has_value() const
Line
Count
Source
484
11.0k
    {
485
11.0k
        return m_has_value;
486
11.0k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
2.06k
    {
485
2.06k
        return m_has_value;
486
2.06k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
1.54k
    {
485
1.54k
        return m_has_value;
486
1.54k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
1.54k
    {
485
1.54k
        return m_has_value;
486
1.54k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
10.3k
    {
485
10.3k
        return m_has_value;
486
10.3k
    }
scn::v3::detail::expected_storage_base<wchar_t const*, scn::v3::impl::parse_error, true>::has_value() const
Line
Count
Source
484
9.70M
    {
485
9.70M
        return m_has_value;
486
9.70M
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
1.68M
    {
485
1.68M
        return m_has_value;
486
1.68M
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
710k
    {
485
710k
        return m_has_value;
486
710k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
710k
    {
485
710k
        return m_has_value;
486
710k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
969k
    {
485
969k
        return m_has_value;
486
969k
    }
scn::v3::detail::expected_storage_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
528
    {
485
528
        return m_has_value;
486
528
    }
scn::v3::detail::expected_storage_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
972k
    {
485
972k
        return m_has_value;
486
972k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
7.93k
    {
485
7.93k
        return m_has_value;
486
7.93k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
7.50k
    {
485
7.50k
        return m_has_value;
486
7.50k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::has_value() const
Line
Count
Source
484
3.25k
    {
485
3.25k
        return m_has_value;
486
3.25k
    }
scn::v3::detail::expected_storage_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
3.25k
    {
485
3.25k
        return m_has_value;
486
3.25k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
1.86M
    {
485
1.86M
        return m_has_value;
486
1.86M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
2.01M
    {
485
2.01M
        return m_has_value;
486
2.01M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
2.04M
    {
485
2.04M
        return m_has_value;
486
2.04M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
1.96M
    {
485
1.96M
        return m_has_value;
486
1.96M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
2.13M
    {
485
2.13M
        return m_has_value;
486
2.13M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
2.15M
    {
485
2.15M
        return m_has_value;
486
2.15M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
215k
    {
485
215k
        return m_has_value;
486
215k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
216k
    {
485
216k
        return m_has_value;
486
216k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
217k
    {
485
217k
        return m_has_value;
486
217k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
214k
    {
485
214k
        return m_has_value;
486
214k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
216k
    {
485
216k
        return m_has_value;
486
216k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
217k
    {
485
217k
        return m_has_value;
486
217k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
315k
    {
485
315k
        return m_has_value;
486
315k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::has_value() const
Line
Count
Source
484
1.76M
    {
485
1.76M
        return m_has_value;
486
1.76M
    }
487
488
    template <typename... Args>
489
    void construct(Args&&... args) noexcept(
490
        std::is_nothrow_constructible_v<T, Args...>)
491
    {
492
        scn::detail::construct_at(&get_value(), std::forward<Args>(args)...);
493
        m_has_value = true;
494
    }
495
    template <typename... Args>
496
    void construct_unexpected(Args&&... args) noexcept(
497
        std::is_nothrow_constructible_v<E, Args...>)
498
    {
499
        scn::detail::construct_at(&get_unexpected(),
500
                                  std::forward<Args>(args)...);
501
        m_has_value = false;
502
    }
503
504
    // No-op, because T and E are trivially destructible
505
    static constexpr void destroy_value() noexcept {}
506
    static constexpr void destroy_unexpected() noexcept {}
507
508
private:
509
    union {
510
        T m_value;
511
        unexpected<E> m_unexpected;
512
        char m_deferred_init;
513
    };
514
    bool m_has_value;
515
};
516
517
template <typename E>
518
struct SCN_TRIVIAL_ABI expected_storage_base<void, E, true> {
519
    constexpr expected_storage_base() noexcept : m_has_value(true) {}
520
521
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
522
        : m_deferred_init(), m_has_value(false)
523
    {
524
    }
525
526
    explicit constexpr expected_storage_base(std::in_place_t) noexcept
527
        : m_has_value(true)
528
    {
529
    }
530
531
    template <typename... Args,
532
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
533
    explicit constexpr expected_storage_base(
534
        unexpect_t,
535
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
536
        : m_unexpected(std::in_place, std::forward<Args>(args)...),
537
          m_has_value(false)
538
    {
539
    }
540
541
    constexpr unexpected<E>& get_unexpected() & noexcept
542
    {
543
        return m_unexpected;
544
    }
545
    constexpr const unexpected<E>& get_unexpected() const& noexcept
546
    {
547
        return m_unexpected;
548
    }
549
    constexpr unexpected<E>&& get_unexpected() && noexcept
550
    {
551
        return std::move(m_unexpected);
552
    }
553
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
554
    {
555
        return std::move(m_unexpected);
556
    }
557
558
    SCN_NODISCARD constexpr bool has_value() const noexcept
559
    {
560
        return m_has_value;
561
    }
562
563
    template <typename... Args>
564
    void construct(Args&&...) noexcept
565
    {
566
        m_has_value = true;
567
    }
568
    template <typename... Args>
569
    void construct_unexpected(Args&&... args) noexcept(
570
        std::is_nothrow_constructible_v<E, Args...>)
571
    {
572
        scn::detail::construct_at(&get_unexpected(),
573
                                  std::forward<Args>(args)...);
574
        m_has_value = false;
575
    }
576
577
    static constexpr void destroy_value() noexcept {}
578
    static constexpr void destroy_unexpected() noexcept {}
579
580
private:
581
    union {
582
        unexpected<E> m_unexpected;
583
        char m_deferred_init;
584
    };
585
    bool m_has_value;
586
};
587
588
/**
589
 * Implementation of `std::max` without including `<algorithm>`
590
 */
591
template <typename T>
592
constexpr T max(T a, T b) noexcept
593
0
{
594
0
    return (a < b) ? b : a;
595
0
}
596
597
template <typename T, typename E>
598
struct SCN_TRIVIAL_ABI expected_storage_base<T, E, false> {
599
    constexpr expected_storage_base() noexcept : m_has_value(true)
600
    {
601
        construct();
602
    }
603
604
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
605
        : m_has_value(false)
606
    {
607
    }
608
609
    template <typename... Args,
610
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
611
    explicit constexpr expected_storage_base(
612
        std::in_place_t,
613
        Args&&... args) noexcept(std::is_nothrow_constructible_v<T, Args...>)
614
        : m_has_value(true)
615
2.68M
    {
616
2.68M
        construct(std::forward<Args>(args)...);
617
2.68M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
615
311k
    {
616
311k
        construct(std::forward<Args>(args)...);
617
311k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
615
309k
    {
616
309k
        construct(std::forward<Args>(args)...);
617
309k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
615
724
    {
616
724
        construct(std::forward<Args>(args)...);
617
724
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
615
724
    {
616
724
        construct(std::forward<Args>(args)...);
617
724
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
615
151k
    {
616
151k
        construct(std::forward<Args>(args)...);
617
151k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
615
167k
    {
616
167k
        construct(std::forward<Args>(args)...);
617
167k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
615
868k
    {
616
868k
        construct(std::forward<Args>(args)...);
617
868k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
615
868k
    {
616
868k
        construct(std::forward<Args>(args)...);
617
868k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
615
1.43k
    {
616
1.43k
        construct(std::forward<Args>(args)...);
617
1.43k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::in_place_t, scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
615
372
    {
616
372
        construct(std::forward<Args>(args)...);
617
372
    }
618
619
    template <typename... Args,
620
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
621
    explicit constexpr expected_storage_base(
622
        unexpect_t,
623
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
624
        : m_has_value(false)
625
385k
    {
626
385k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
385k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
625
8.86k
    {
626
8.86k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
8.86k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
625
16
    {
626
16
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
16
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
625
9.32k
    {
626
9.32k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
9.32k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
625
46.0k
    {
626
46.0k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
46.0k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
625
52
    {
626
52
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
52
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
625
46.0k
    {
626
46.0k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
46.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
625
44.9k
    {
626
44.9k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
44.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
625
14.5k
    {
626
14.5k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
14.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
625
92.4k
    {
626
92.4k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
92.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
625
29.1k
    {
626
29.1k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
29.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
625
30.3k
    {
626
30.3k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
30.3k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::expected_storage_base<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
625
63.2k
    {
626
63.2k
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
627
63.2k
    }
628
629
    ~expected_storage_base()
630
3.06M
    {
631
3.06M
        if (has_value()) {
632
2.68M
            destroy_value();
633
2.68M
        }
634
385k
        else {
635
385k
            destroy_unexpected();
636
385k
        }
637
3.06M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
630
320k
    {
631
320k
        if (has_value()) {
632
311k
            destroy_value();
633
311k
        }
634
8.86k
        else {
635
8.86k
            destroy_unexpected();
636
8.86k
        }
637
320k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
630
16
    {
631
16
        if (has_value()) {
632
0
            destroy_value();
633
0
        }
634
16
        else {
635
16
            destroy_unexpected();
636
16
        }
637
16
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
630
319k
    {
631
319k
        if (has_value()) {
632
309k
            destroy_value();
633
309k
        }
634
9.32k
        else {
635
9.32k
            destroy_unexpected();
636
9.32k
        }
637
319k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
630
46.7k
    {
631
46.7k
        if (has_value()) {
632
724
            destroy_value();
633
724
        }
634
46.0k
        else {
635
46.0k
            destroy_unexpected();
636
46.0k
        }
637
46.7k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
630
52
    {
631
52
        if (has_value()) {
632
0
            destroy_value();
633
0
        }
634
52
        else {
635
52
            destroy_unexpected();
636
52
        }
637
52
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
630
46.8k
    {
631
46.8k
        if (has_value()) {
632
724
            destroy_value();
633
724
        }
634
46.0k
        else {
635
46.0k
            destroy_unexpected();
636
46.0k
        }
637
46.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
630
196k
    {
631
196k
        if (has_value()) {
632
151k
            destroy_value();
633
151k
        }
634
44.9k
        else {
635
44.9k
            destroy_unexpected();
636
44.9k
        }
637
196k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
630
182k
    {
631
182k
        if (has_value()) {
632
167k
            destroy_value();
633
167k
        }
634
14.5k
        else {
635
14.5k
            destroy_unexpected();
636
14.5k
        }
637
182k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
630
960k
    {
631
960k
        if (has_value()) {
632
868k
            destroy_value();
633
868k
        }
634
92.4k
        else {
635
92.4k
            destroy_unexpected();
636
92.4k
        }
637
960k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
630
897k
    {
631
897k
        if (has_value()) {
632
868k
            destroy_value();
633
868k
        }
634
29.1k
        else {
635
29.1k
            destroy_unexpected();
636
29.1k
        }
637
897k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
630
31.8k
    {
631
31.8k
        if (has_value()) {
632
1.43k
            destroy_value();
633
1.43k
        }
634
30.3k
        else {
635
30.3k
            destroy_unexpected();
636
30.3k
        }
637
31.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::~expected_storage_base()
Line
Count
Source
630
63.6k
    {
631
63.6k
        if (has_value()) {
632
372
            destroy_value();
633
372
        }
634
63.2k
        else {
635
63.2k
            destroy_unexpected();
636
63.2k
        }
637
63.6k
    }
638
639
    constexpr T& get_value() & noexcept
640
2.67M
    {
641
2.67M
        return *value_ptr();
642
2.67M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
640
311k
    {
641
311k
        return *value_ptr();
642
311k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
640
309k
    {
641
309k
        return *value_ptr();
642
309k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
640
724
    {
641
724
        return *value_ptr();
642
724
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
640
724
    {
641
724
        return *value_ptr();
642
724
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
640
150k
    {
641
150k
        return *value_ptr();
642
150k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
640
167k
    {
641
167k
        return *value_ptr();
642
167k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
640
868k
    {
641
868k
        return *value_ptr();
642
868k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::get_value() &
Line
Count
Source
640
868k
    {
641
868k
        return *value_ptr();
642
868k
    }
643
    constexpr const T& get_value() const& noexcept
644
    {
645
        return *value_ptr();
646
    }
647
    constexpr T&& get_value() && noexcept
648
    {
649
        return std::move(*value_ptr());
650
    }
651
    constexpr const T&& get_value() const&& noexcept
652
    {
653
        return std::move(*value_ptr());
654
    }
655
656
    constexpr unexpected<E>& get_unexpected() & noexcept
657
110k
    {
658
110k
        return *unexpected_ptr();
659
110k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
Line
Count
Source
657
8.86k
    {
658
8.86k
        return *unexpected_ptr();
659
8.86k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
Line
Count
Source
657
16
    {
658
16
        return *unexpected_ptr();
659
16
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
Line
Count
Source
657
9.32k
    {
658
9.32k
        return *unexpected_ptr();
659
9.32k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
Line
Count
Source
657
46.0k
    {
658
46.0k
        return *unexpected_ptr();
659
46.0k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
Line
Count
Source
657
52
    {
658
52
        return *unexpected_ptr();
659
52
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::get_unexpected() &
Line
Count
Source
657
46.0k
    {
658
46.0k
        return *unexpected_ptr();
659
46.0k
    }
660
    constexpr const unexpected<E>& get_unexpected() const& noexcept
661
    {
662
        return *unexpected_ptr();
663
    }
664
    constexpr unexpected<E>&& get_unexpected() && noexcept
665
    {
666
        return std::move(*unexpected_ptr());
667
    }
668
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
669
    {
670
        return std::move(*unexpected_ptr());
671
    }
672
673
    SCN_NODISCARD constexpr bool has_value() const noexcept
674
8.72M
    {
675
8.72M
        return m_has_value;
676
8.72M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
674
960k
    {
675
960k
        return m_has_value;
676
960k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
674
48
    {
675
48
        return m_has_value;
676
48
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
674
957k
    {
675
957k
        return m_has_value;
676
957k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
674
140k
    {
675
140k
        return m_has_value;
676
140k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
674
156
    {
675
156
        return m_has_value;
676
156
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
674
140k
    {
675
140k
        return m_has_value;
676
140k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
674
512k
    {
675
512k
        return m_has_value;
676
512k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
674
532k
    {
675
532k
        return m_has_value;
676
532k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
674
2.72M
    {
675
2.72M
        return m_has_value;
676
2.72M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
674
2.66M
    {
675
2.66M
        return m_has_value;
676
2.66M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
674
31.8k
    {
675
31.8k
        return m_has_value;
676
31.8k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::has_value() const
Line
Count
Source
674
63.6k
    {
675
63.6k
        return m_has_value;
676
63.6k
    }
677
678
    template <typename... Args>
679
    void construct(Args&&... args) noexcept(
680
        std::is_nothrow_constructible_v<T, Args...>)
681
2.68M
    {
682
2.68M
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
683
2.68M
        m_has_value = true;
684
2.68M
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
681
311k
    {
682
311k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
683
311k
        m_has_value = true;
684
311k
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
681
309k
    {
682
309k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
683
309k
        m_has_value = true;
684
309k
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
681
724
    {
682
724
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
683
724
        m_has_value = true;
684
724
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
681
724
    {
682
724
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
683
724
        m_has_value = true;
684
724
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
681
151k
    {
682
151k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
683
151k
        m_has_value = true;
684
151k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
681
167k
    {
682
167k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
683
167k
        m_has_value = true;
684
167k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
681
868k
    {
682
868k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
683
868k
        m_has_value = true;
684
868k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
681
868k
    {
682
868k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
683
868k
        m_has_value = true;
684
868k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
681
1.43k
    {
682
1.43k
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
683
1.43k
        m_has_value = true;
684
1.43k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
681
372
    {
682
372
        scn::detail::construct_at(value_ptr(), std::forward<Args>(args)...);
683
372
        m_has_value = true;
684
372
    }
685
    template <typename... Args>
686
    void construct_unexpected(Args&&... args) noexcept(
687
        std::is_nothrow_constructible_v<E, Args...>)
688
385k
    {
689
385k
        scn::detail::construct_at(unexpected_ptr(),
690
385k
                                  std::forward<Args>(args)...);
691
385k
        m_has_value = false;
692
385k
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
688
8.86k
    {
689
8.86k
        scn::detail::construct_at(unexpected_ptr(),
690
8.86k
                                  std::forward<Args>(args)...);
691
8.86k
        m_has_value = false;
692
8.86k
    }
void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
688
16
    {
689
16
        scn::detail::construct_at(unexpected_ptr(),
690
16
                                  std::forward<Args>(args)...);
691
16
        m_has_value = false;
692
16
    }
void scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
688
9.32k
    {
689
9.32k
        scn::detail::construct_at(unexpected_ptr(),
690
9.32k
                                  std::forward<Args>(args)...);
691
9.32k
        m_has_value = false;
692
9.32k
    }
Unexecuted instantiation: void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
688
46.0k
    {
689
46.0k
        scn::detail::construct_at(unexpected_ptr(),
690
46.0k
                                  std::forward<Args>(args)...);
691
46.0k
        m_has_value = false;
692
46.0k
    }
void scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
688
52
    {
689
52
        scn::detail::construct_at(unexpected_ptr(),
690
52
                                  std::forward<Args>(args)...);
691
52
        m_has_value = false;
692
52
    }
void scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
688
46.0k
    {
689
46.0k
        scn::detail::construct_at(unexpected_ptr(),
690
46.0k
                                  std::forward<Args>(args)...);
691
46.0k
        m_has_value = false;
692
46.0k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
688
44.9k
    {
689
44.9k
        scn::detail::construct_at(unexpected_ptr(),
690
44.9k
                                  std::forward<Args>(args)...);
691
44.9k
        m_has_value = false;
692
44.9k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
688
14.5k
    {
689
14.5k
        scn::detail::construct_at(unexpected_ptr(),
690
14.5k
                                  std::forward<Args>(args)...);
691
14.5k
        m_has_value = false;
692
14.5k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
688
92.4k
    {
689
92.4k
        scn::detail::construct_at(unexpected_ptr(),
690
92.4k
                                  std::forward<Args>(args)...);
691
92.4k
        m_has_value = false;
692
92.4k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
688
29.1k
    {
689
29.1k
        scn::detail::construct_at(unexpected_ptr(),
690
29.1k
                                  std::forward<Args>(args)...);
691
29.1k
        m_has_value = false;
692
29.1k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
688
30.3k
    {
689
30.3k
        scn::detail::construct_at(unexpected_ptr(),
690
30.3k
                                  std::forward<Args>(args)...);
691
30.3k
        m_has_value = false;
692
30.3k
    }
void scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::construct_unexpected<std::__1::in_place_t const&, scn::v3::scan_error>(std::__1::in_place_t const&, scn::v3::scan_error&&)
Line
Count
Source
688
63.2k
    {
689
63.2k
        scn::detail::construct_at(unexpected_ptr(),
690
63.2k
                                  std::forward<Args>(args)...);
691
63.2k
        m_has_value = false;
692
63.2k
    }
693
694
    void destroy_value() noexcept
695
2.68M
    {
696
2.68M
        scn::detail::destroy_at(value_ptr());
697
2.68M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
695
311k
    {
696
311k
        scn::detail::destroy_at(value_ptr());
697
311k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
695
309k
    {
696
309k
        scn::detail::destroy_at(value_ptr());
697
309k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
695
724
    {
696
724
        scn::detail::destroy_at(value_ptr());
697
724
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
695
724
    {
696
724
        scn::detail::destroy_at(value_ptr());
697
724
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
695
151k
    {
696
151k
        scn::detail::destroy_at(value_ptr());
697
151k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
695
167k
    {
696
167k
        scn::detail::destroy_at(value_ptr());
697
167k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
695
868k
    {
696
868k
        scn::detail::destroy_at(value_ptr());
697
868k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
695
868k
    {
696
868k
        scn::detail::destroy_at(value_ptr());
697
868k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
695
1.43k
    {
696
1.43k
        scn::detail::destroy_at(value_ptr());
697
1.43k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_value()
Line
Count
Source
695
372
    {
696
372
        scn::detail::destroy_at(value_ptr());
697
372
    }
698
    void destroy_unexpected() noexcept
699
385k
    {
700
385k
        scn::detail::destroy_at(unexpected_ptr());
701
385k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
699
8.86k
    {
700
8.86k
        scn::detail::destroy_at(unexpected_ptr());
701
8.86k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
699
16
    {
700
16
        scn::detail::destroy_at(unexpected_ptr());
701
16
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
699
9.32k
    {
700
9.32k
        scn::detail::destroy_at(unexpected_ptr());
701
9.32k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
699
46.0k
    {
700
46.0k
        scn::detail::destroy_at(unexpected_ptr());
701
46.0k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
699
52
    {
700
52
        scn::detail::destroy_at(unexpected_ptr());
701
52
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
699
46.0k
    {
700
46.0k
        scn::detail::destroy_at(unexpected_ptr());
701
46.0k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
699
44.9k
    {
700
44.9k
        scn::detail::destroy_at(unexpected_ptr());
701
44.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
699
14.5k
    {
700
14.5k
        scn::detail::destroy_at(unexpected_ptr());
701
14.5k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
699
92.4k
    {
700
92.4k
        scn::detail::destroy_at(unexpected_ptr());
701
92.4k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
699
29.1k
    {
700
29.1k
        scn::detail::destroy_at(unexpected_ptr());
701
29.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
699
30.3k
    {
700
30.3k
        scn::detail::destroy_at(unexpected_ptr());
701
30.3k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::destroy_unexpected()
Line
Count
Source
699
63.2k
    {
700
63.2k
        scn::detail::destroy_at(unexpected_ptr());
701
63.2k
    }
702
703
private:
704
    T* value_ptr() noexcept
705
8.03M
    {
706
8.03M
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
707
8.03M
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
705
934k
    {
706
934k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
707
934k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
705
929k
    {
706
929k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
707
929k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
705
2.17k
    {
706
2.17k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
707
2.17k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
705
2.17k
    {
706
2.17k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
707
2.17k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
705
454k
    {
706
454k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
707
454k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
705
503k
    {
706
503k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
707
503k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
705
2.60M
    {
706
2.60M
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
707
2.60M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
705
2.60M
    {
706
2.60M
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
707
2.60M
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
705
2.87k
    {
706
2.87k
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
707
2.87k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::value_ptr()
Line
Count
Source
705
744
    {
706
744
        return reinterpret_cast<T*>(SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
707
744
    }
708
    const T* value_ptr() const noexcept
709
    {
710
        return reinterpret_cast<const T*>(
711
            SCN_ASSUME_ALIGNED(m_memory, alignof(T)));
712
    }
713
714
    SCN_GCC_PUSH
715
    SCN_GCC_IGNORE("-Wcast-align")
716
    unexpected<E>* unexpected_ptr() noexcept
717
880k
    {
718
880k
        return reinterpret_cast<unexpected<E>*>(
719
880k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
880k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
717
26.5k
    {
718
26.5k
        return reinterpret_cast<unexpected<E>*>(
719
26.5k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
26.5k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
717
48
    {
718
48
        return reinterpret_cast<unexpected<E>*>(
719
48
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
48
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
717
27.9k
    {
718
27.9k
        return reinterpret_cast<unexpected<E>*>(
719
27.9k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
27.9k
    }
Unexecuted instantiation: scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
717
138k
    {
718
138k
        return reinterpret_cast<unexpected<E>*>(
719
138k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
138k
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
717
156
    {
718
156
        return reinterpret_cast<unexpected<E>*>(
719
156
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
156
    }
scn::v3::detail::expected_storage_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
717
138k
    {
718
138k
        return reinterpret_cast<unexpected<E>*>(
719
138k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
138k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
717
89.9k
    {
718
89.9k
        return reinterpret_cast<unexpected<E>*>(
719
89.9k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
89.9k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
717
29.1k
    {
718
29.1k
        return reinterpret_cast<unexpected<E>*>(
719
29.1k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
29.1k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
717
184k
    {
718
184k
        return reinterpret_cast<unexpected<E>*>(
719
184k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
184k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
717
58.3k
    {
718
58.3k
        return reinterpret_cast<unexpected<E>*>(
719
58.3k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
58.3k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
717
60.7k
    {
718
60.7k
        return reinterpret_cast<unexpected<E>*>(
719
60.7k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
60.7k
    }
scn::v3::detail::expected_storage_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, false>::unexpected_ptr()
Line
Count
Source
717
126k
    {
718
126k
        return reinterpret_cast<unexpected<E>*>(
719
126k
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
720
126k
    }
721
    const unexpected<E>* unexpected_ptr() const noexcept
722
    {
723
        return reinterpret_cast<const unexpected<E>*>(
724
            SCN_ASSUME_ALIGNED(m_memory, alignof(unexpected<E>)));
725
    }
726
    SCN_GCC_POP
727
728
    static constexpr std::size_t required_size =
729
        detail::max(sizeof(T), sizeof(unexpected<E>));
730
    static constexpr std::size_t required_alignment =
731
        detail::max(alignof(T), alignof(unexpected<E>));
732
733
    alignas(required_alignment) unsigned char m_memory[required_size];
734
    bool m_has_value;
735
};
736
737
template <typename E>
738
struct SCN_TRIVIAL_ABI expected_storage_base<void, E, false> {
739
    constexpr expected_storage_base() noexcept : m_has_value(true) {}
740
741
    explicit constexpr expected_storage_base(deferred_init_tag_t) noexcept
742
        : m_has_value(false)
743
    {
744
    }
745
746
    explicit constexpr expected_storage_base(std::in_place_t) noexcept
747
        : m_has_value(true)
748
    {
749
    }
750
751
    template <typename... Args,
752
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
753
    explicit constexpr expected_storage_base(
754
        unexpect_t,
755
        Args&&... args) noexcept(std::is_nothrow_constructible_v<E, Args...>)
756
        : m_has_value(false)
757
    {
758
        construct_unexpected(std::in_place, std::forward<Args>(args)...);
759
    }
760
761
    ~expected_storage_base()
762
    {
763
        if (!has_value()) {
764
            destroy_unexpected();
765
        }
766
    }
767
768
    constexpr unexpected<E>& get_unexpected() & noexcept
769
    {
770
        return *unexpected_ptr();
771
    }
772
    constexpr const unexpected<E>& get_unexpected() const& noexcept
773
    {
774
        return *unexpected_ptr();
775
    }
776
    constexpr unexpected<E>&& get_unexpected() && noexcept
777
    {
778
        return std::move(*unexpected_ptr());
779
    }
780
    constexpr const unexpected<E>&& get_unexpected() const&& noexcept
781
    {
782
        return std::move(*unexpected_ptr());
783
    }
784
785
    SCN_NODISCARD constexpr bool has_value() const noexcept
786
    {
787
        return m_has_value;
788
    }
789
790
    template <typename... Args>
791
    constexpr void construct(Args&&...) noexcept
792
    {
793
        m_has_value = true;
794
    }
795
    template <typename... Args>
796
    void construct_unexpected(Args&&... args) noexcept(
797
        std::is_nothrow_constructible_v<E, Args...>)
798
    {
799
        scn::detail::construct_at(unexpected_ptr(),
800
                                  std::forward<Args>(args)...);
801
        m_has_value = false;
802
    }
803
804
    static constexpr void destroy_value() noexcept {}
805
    void destroy_unexpected() noexcept
806
    {
807
        scn::detail::destroy_at(unexpected_ptr());
808
    }
809
810
private:
811
    SCN_GCC_PUSH
812
    SCN_GCC_IGNORE("-Wcast-align")
813
    unexpected<E>* unexpected_ptr()
814
    {
815
        return reinterpret_cast<unexpected<E>*>(m_memory);
816
    }
817
    const unexpected<E>* unexpected_ptr() const
818
    {
819
        return reinterpret_cast<const unexpected<E>*>(m_memory);
820
    }
821
    SCN_GCC_POP
822
823
    static constexpr std::size_t required_size = sizeof(unexpected<E>);
824
    static constexpr std::size_t required_alignment = alignof(unexpected<E>);
825
826
    alignas(required_alignment) unsigned char m_memory[required_size];
827
    bool m_has_value;
828
};
829
830
template <typename T, typename U>
831
using is_void_or = std::conditional_t<std::is_void_v<T>, std::true_type, U>;
832
833
template <typename T,
834
          typename E,
835
          bool IsTriviallyCopyable =
836
              std::conjunction_v<std::is_trivially_copyable<T>,
837
                                 std::is_trivially_copyable<E>>>
838
struct expected_operations_base;
839
840
template <typename T, typename E>
841
struct SCN_TRIVIAL_ABI expected_operations_base<T, E, true>
842
    : expected_storage_base<T, E> {
843
    using expected_storage_base<T, E>::expected_storage_base;
844
};
845
846
template <typename T, typename E>
847
struct SCN_TRIVIAL_ABI expected_operations_base<T, E, false>
848
    : expected_storage_base<T, E> {
849
    using expected_storage_base<T, E>::expected_storage_base;
850
851
    expected_operations_base(const expected_operations_base& other) noexcept(
852
        std::is_nothrow_copy_constructible_v<T> &&
853
        std::is_nothrow_copy_constructible_v<E>)
854
        : expected_storage_base<T, E>(deferred_init_tag)
855
    {
856
        construct_common(other);
857
    }
858
    expected_operations_base(expected_operations_base&& other) noexcept(
859
        std::is_nothrow_move_constructible_v<T> &&
860
        std::is_nothrow_move_constructible_v<E>)
861
        : expected_storage_base<T, E>(deferred_init_tag)
862
    {
863
        construct_common(std::move(other));
864
    }
865
866
    expected_operations_base& operator=(const expected_operations_base& other)
867
    // gcc 11 and lower evaluate noexcept in a weird context
868
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
869
        noexcept(noexcept(
870
            SCN_DECLVAL(expected_operations_base&).assign_common(other)))
871
#else
872
        noexcept(noexcept(assign_common(other)))
873
#endif
874
    {
875
        assign_common(other);
876
        return *this;
877
    }
878
    expected_operations_base& operator=(expected_operations_base&& other)
879
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
880
        noexcept(noexcept(SCN_DECLVAL(expected_operations_base&)
881
                              .assign_common(std::move(other))))
882
#else
883
        noexcept(noexcept(assign_common(std::move(other))))
884
#endif
885
    {
886
        assign_common(std::move(other));
887
        return *this;
888
    }
889
890
    ~expected_operations_base() = default;
891
892
private:
893
    template <typename Other>
894
    void construct_common(Other&& other) noexcept(
895
        noexcept(expected_storage_base<T, E>::construct(
896
            std::forward<Other>(other).get_value())) &&
897
        noexcept(expected_storage_base<T, E>::construct_unexpected(
898
            std::forward<Other>(other).get_unexpected())))
899
    {
900
        if (other.has_value()) {
901
            this->construct(std::forward<Other>(other).get_value());
902
        }
903
        else {
904
            this->construct_unexpected(
905
                std::forward<Other>(other).get_unexpected());
906
        }
907
    }
908
909
    template <typename Other>
910
    void assign_common(Other&& other)
911
#if SCN_GCC && SCN_GCC < SCN_COMPILER(12, 0, 0)
912
        noexcept(
913
            noexcept(SCN_DECLVAL(expected_operations_base&)
914
                         .reassign_value(std::forward<Other>(other))) &&
915
            noexcept(SCN_DECLVAL(expected_operations_base&)
916
                         .reassign_unexpected(std::forward<Other>(other))) &&
917
            noexcept(SCN_DECLVAL(expected_operations_base&)
918
                         .assign_value_over_unexpected(
919
                             std::forward<Other>(other))) &&
920
            noexcept(
921
                SCN_DECLVAL(expected_operations_base&)
922
                    .assign_unexpected_over_value(std::forward<Other>(other))))
923
#else
924
        noexcept(
925
            noexcept(reassign_value(std::forward<Other>(other))) &&
926
            noexcept(reassign_unexpected(std::forward<Other>(other))) &&
927
            noexcept(
928
                assign_value_over_unexpected(std::forward<Other>(other))) &&
929
            noexcept(assign_unexpected_over_value(std::forward<Other>(other))))
930
#endif
931
    {
932
        if (this->has_value()) {
933
            if (other.has_value()) {
934
                return reassign_value(std::forward<Other>(other));
935
            }
936
            return assign_unexpected_over_value(std::forward<Other>(other));
937
        }
938
939
        if (other.has_value()) {
940
            return assign_value_over_unexpected(std::forward<Other>(other));
941
        }
942
        return reassign_unexpected(std::forward<Other>(other));
943
    }
944
945
    template <typename Other>
946
    void reassign_value(Other&& other) noexcept(
947
        std::is_nothrow_assignable_v<
948
            T,
949
            decltype(std::forward<Other>(other).get_value())>)
950
    {
951
        this->get_value() = std::forward<Other>(other).get_value();
952
    }
953
954
    template <typename Other>
955
    void reassign_unexpected(Other&& other) noexcept(
956
        std::is_nothrow_assignable_v<
957
            E,
958
            decltype(std::forward<Other>(other).get_unexpected())>)
959
    {
960
        this->get_unexpected() = std::forward<Other>(other).get_unexpected();
961
    }
962
963
#if SCN_HAS_EXCEPTIONS
964
    void assign_value_over_unexpected(
965
        const expected_operations_base&
966
            other) noexcept(std::is_nothrow_copy_constructible_v<T> ||
967
                            std::is_nothrow_move_constructible_v<T>)
968
    {
969
        if constexpr (std::is_nothrow_copy_constructible_v<T>) {
970
            this->destroy_unexpected();
971
            this->construct(other.get_value());
972
        }
973
        else if constexpr (std::is_nothrow_move_constructible_v<T>) {
974
            T tmp = other.get_value();
975
            this->destroy_unexpected();
976
            this->construct(std::move(tmp));
977
        }
978
        else {
979
            auto tmp = std::move(this->get_unexpecetd());
980
            this->destroy_unexpected();
981
982
            try {
983
                this->construct(other.get());
984
            }
985
            catch (...) {
986
                this->construct_unexpected(std::move(tmp));
987
                throw;
988
            }
989
        }
990
    }
991
992
    void
993
    assign_value_over_unexpected(expected_operations_base&& other) noexcept(
994
        std::is_nothrow_move_constructible_v<T>)
995
    {
996
        if constexpr (std::is_nothrow_move_constructible_v<T>) {
997
            this->destroy_unexpected();
998
            this->construct(std::move(other).get_value());
999
        }
1000
        else {
1001
            auto tmp = std::move(this->get_unexpected());
1002
            this->destroy_unexpected();
1003
1004
            try {
1005
                this->construct(std::move(other).get_value());
1006
            }
1007
            catch (...) {
1008
                this->construct_unexpected(std::move(tmp));
1009
                throw;
1010
            }
1011
        }
1012
    }
1013
#else
1014
    template <typename Other>
1015
    void assing_value_over_unexpected(Other&& other) noexcept
1016
    {
1017
        this->destroy_unexpected();
1018
        this->construct_value(std::forward<Other>(other).get_value());
1019
    }
1020
#endif
1021
1022
    template <typename Other>
1023
    void assign_unexpected_over_value(Other&& other) noexcept(
1024
        std::is_nothrow_constructible_v<
1025
            E,
1026
            decltype(std::forward<Other>(other).get_unexpected())>)
1027
    {
1028
        this->destroy_value();
1029
        this->construct_unexpected(std::forward<Other>(other).get_unexpected());
1030
    }
1031
};
1032
1033
/*
1034
 * Base class trickery to conditionally mark copy and move
1035
 * constructors of an expected as =deleted.
1036
 *
1037
 * We need to do this, because otherwise utilities like
1038
 * std::is_copy_constructible wouldn't work for expected: the
1039
 * constructors need to be explicitly =deleted, not just cause a
1040
 * compiler error when trying to copy a value of a non-copyable
1041
 * type.
1042
 *
1043
 * Rationale for doing this with base classes is above.
1044
 */
1045
template <typename T,
1046
          typename E,
1047
          bool EnableCopy = (std::is_copy_constructible_v<T> &&
1048
                             std::is_copy_constructible_v<E>),
1049
          bool EnableMove = (std::is_move_constructible_v<T> &&
1050
                             std::is_move_constructible_v<E>)>
1051
struct expected_delete_ctor_base;
1052
1053
// Implementation for types that are both copy and move
1054
// constructible: Copy and move constructors are =defaulted
1055
template <typename T, typename E>
1056
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, true> {
1057
    expected_delete_ctor_base() = default;
1058
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1059
        default;
1060
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1061
    ~expected_delete_ctor_base() = default;
1062
1063
    expected_delete_ctor_base(const expected_delete_ctor_base&) = default;
1064
    expected_delete_ctor_base(expected_delete_ctor_base&&) = default;
1065
};
1066
1067
// Implementation for types that are neither copy nor move
1068
// constructible: Copy and move constructors are =deleted
1069
template <typename T, typename E>
1070
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, false> {
1071
    expected_delete_ctor_base() = default;
1072
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1073
        default;
1074
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1075
    ~expected_delete_ctor_base() = default;
1076
1077
    expected_delete_ctor_base(const expected_delete_ctor_base&) = delete;
1078
    expected_delete_ctor_base(expected_delete_ctor_base&&) = delete;
1079
};
1080
1081
// Implementation for types that are move constructible, but not
1082
// copy constructible Copy constructor is =deleted, but move
1083
// constructor is =defaulted
1084
template <typename T, typename E>
1085
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, false, true> {
1086
    expected_delete_ctor_base() = default;
1087
    expected_delete_ctor_base& operator=(const expected_delete_ctor_base&) =
1088
        default;
1089
    expected_delete_ctor_base& operator=(expected_delete_ctor_base&&) = default;
1090
    ~expected_delete_ctor_base() = default;
1091
1092
    expected_delete_ctor_base(const expected_delete_ctor_base&) = delete;
1093
    expected_delete_ctor_base(expected_delete_ctor_base&&) = default;
1094
};
1095
1096
template <typename T, typename E>
1097
struct SCN_TRIVIAL_ABI expected_delete_ctor_base<T, E, true, false> {
1098
    static_assert(dependent_false<T>::value,
1099
                  "Nonsensical type: copy constructible, but not move "
1100
                  "constructible");
1101
};
1102
1103
// Same as above, but for assignment
1104
template <
1105
    typename T,
1106
    typename E,
1107
    bool EnableCopy =
1108
        (std::is_copy_constructible_v<T> && std::is_copy_constructible_v<E> &&
1109
         std::is_copy_assignable_v<T> && std::is_copy_assignable_v<E>),
1110
    bool EnableMove =
1111
        (std::is_move_constructible_v<T> && std::is_move_constructible_v<E> &&
1112
         std::is_move_assignable_v<T> && std::is_move_assignable_v<E>)>
1113
struct expected_delete_assign_base;
1114
1115
template <typename T, typename E>
1116
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, true> {
1117
    expected_delete_assign_base() = default;
1118
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1119
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1120
    ~expected_delete_assign_base() = default;
1121
1122
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1123
        default;
1124
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1125
        default;
1126
};
1127
1128
template <typename T, typename E>
1129
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, false> {
1130
    expected_delete_assign_base() = default;
1131
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1132
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1133
    ~expected_delete_assign_base() = default;
1134
1135
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1136
        delete;
1137
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1138
        delete;
1139
};
1140
1141
template <typename T, typename E>
1142
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, false, true> {
1143
    expected_delete_assign_base() = default;
1144
    expected_delete_assign_base(const expected_delete_assign_base&) = default;
1145
    expected_delete_assign_base(expected_delete_assign_base&&) = default;
1146
    ~expected_delete_assign_base() = default;
1147
1148
    expected_delete_assign_base& operator=(const expected_delete_assign_base&) =
1149
        delete;
1150
    expected_delete_assign_base& operator=(expected_delete_assign_base&&) =
1151
        default;
1152
};
1153
1154
template <typename T, typename E>
1155
struct SCN_TRIVIAL_ABI expected_delete_assign_base<T, E, true, false> {
1156
    static_assert(dependent_false<T>::value,
1157
                  "Nonsensical type: copy assignable, but not move "
1158
                  "assignable");
1159
};
1160
1161
struct non_default_ctor_tag_t {};
1162
1163
/*
1164
 * Same as above, but for the default constructor
1165
 *
1166
 * The constructor taking a non_default_ctor_tag_t is needed, to
1167
 * signal that we're not default constructing.
1168
 */
1169
template <typename T,
1170
          typename E,
1171
          bool = std::is_default_constructible_v<T> || std::is_void_v<T>>
1172
struct SCN_TRIVIAL_ABI expected_default_ctor_base {
1173
    constexpr expected_default_ctor_base() = default;
1174
    constexpr explicit expected_default_ctor_base(
1175
        non_default_ctor_tag_t) noexcept
1176
315M
    {
1177
315M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
5.91M
    {
1177
5.91M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
337k
    {
1177
337k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
324k
    {
1177
324k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
455k
    {
1177
455k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
397k
    {
1177
397k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
431k
    {
1177
431k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
369k
    {
1177
369k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
5.64M
    {
1177
5.64M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
338k
    {
1177
338k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
325k
    {
1177
325k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
423k
    {
1177
423k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
367k
    {
1177
367k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
431k
    {
1177
431k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
371k
    {
1177
371k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
3.34M
    {
1177
3.34M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
82.3k
    {
1177
82.3k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
82.2k
    {
1177
82.2k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
146k
    {
1177
146k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
145k
    {
1177
145k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
82.5k
    {
1177
82.5k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
82.4k
    {
1177
82.4k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
1.87M
    {
1177
1.87M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
82.3k
    {
1177
82.3k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
82.2k
    {
1177
82.2k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
82.4k
    {
1177
82.4k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
82.2k
    {
1177
82.2k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
82.5k
    {
1177
82.5k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
82.4k
    {
1177
82.4k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
26.3M
    {
1177
26.3M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
6.21M
    {
1177
6.21M
    }
scn::v3::detail::expected_default_ctor_base<char const*, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
32.6M
    {
1177
32.6M
    }
scn::v3::detail::expected_default_ctor_base<wchar_t const*, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
8.88M
    {
1177
8.88M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
27.9M
    {
1177
27.9M
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
7.87M
    {
1177
7.87M
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
44.5M
    {
1177
44.5M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
5.64M
    {
1177
5.64M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
2.16M
    {
1177
2.16M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
2.16M
    {
1177
2.16M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
320k
    {
1177
320k
    }
scn::v3::detail::expected_default_ctor_base<char const*, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
12.8M
    {
1177
12.8M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
9.63k
    {
1177
9.63k
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
9.30k
    {
1177
9.30k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
19.4k
    {
1177
19.4k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<char const*, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
7.66M
    {
1177
7.66M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
12.0k
    {
1177
12.0k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
2.03k
    {
1177
2.03k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
1.52k
    {
1177
1.52k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
1.52k
    {
1177
1.52k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
16
    {
1177
16
    }
scn::v3::detail::expected_default_ctor_base<char const*, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
22.5M
    {
1177
22.5M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
5.26M
    {
1177
5.26M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
2.16M
    {
1177
2.16M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
2.16M
    {
1177
2.16M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
319k
    {
1177
319k
    }
scn::v3::detail::expected_default_ctor_base<long, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
29.7M
    {
1177
29.7M
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
3.17M
    {
1177
3.17M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
508
    {
1177
508
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
3.01M
    {
1177
3.01M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
68.5k
    {
1177
68.5k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
4.48M
    {
1177
4.48M
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
1.47M
    {
1177
1.47M
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
5.83M
    {
1177
5.83M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
842k
    {
1177
842k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
351k
    {
1177
351k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
351k
    {
1177
351k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
46.7k
    {
1177
46.7k
    }
scn::v3::detail::expected_default_ctor_base<wchar_t const*, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
5.18M
    {
1177
5.18M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
3.60k
    {
1177
3.60k
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
2.52k
    {
1177
2.52k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
5.19k
    {
1177
5.19k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
2.21M
    {
1177
2.21M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
6.11k
    {
1177
6.11k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
1.03k
    {
1177
1.03k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
770
    {
1177
770
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
770
    {
1177
770
    }
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
52
    {
1177
52
    }
scn::v3::detail::expected_default_ctor_base<wchar_t const*, scn::v3::impl::parse_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
4.95M
    {
1177
4.95M
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
843k
    {
1177
843k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
355k
    {
1177
355k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
355k
    {
1177
355k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
46.8k
    {
1177
46.8k
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
484k
    {
1177
484k
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
264
    {
1177
264
    }
scn::v3::detail::expected_default_ctor_base<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
486k
    {
1177
486k
    }
Unexecuted instantiation: scn::v3::detail::expected_default_ctor_base<wchar_t, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
4.01k
    {
1177
4.01k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
3.75k
    {
1177
3.75k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
1.62k
    {
1177
1.62k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
1.62k
    {
1177
1.62k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
958k
    {
1177
958k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
1.06M
    {
1177
1.06M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
1.04M
    {
1177
1.04M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
1.01M
    {
1177
1.01M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
1.09M
    {
1177
1.09M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
1.10M
    {
1177
1.10M
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
162k
    {
1177
162k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
226k
    {
1177
226k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
163k
    {
1177
163k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
161k
    {
1177
161k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
162k
    {
1177
162k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
163k
    {
1177
163k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
196k
    {
1177
196k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
196k
    {
1177
196k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
182k
    {
1177
182k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
960k
    {
1177
960k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
960k
    {
1177
960k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
897k
    {
1177
897k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
31.8k
    {
1177
31.8k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
31.8k
    {
1177
31.8k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
31.8k
    {
1177
31.8k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
31.8k
    {
1177
31.8k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
63.6k
    {
1177
63.6k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
63.6k
    {
1177
63.6k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
63.6k
    {
1177
63.6k
    }
scn::v3::detail::expected_default_ctor_base<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error, true>::expected_default_ctor_base(scn::v3::detail::non_default_ctor_tag_t)
Line
Count
Source
1176
63.6k
    {
1177
63.6k
    }
1178
};
1179
template <typename T, typename E>
1180
struct SCN_TRIVIAL_ABI expected_default_ctor_base<T, E, false> {
1181
    constexpr expected_default_ctor_base() = delete;
1182
    constexpr explicit expected_default_ctor_base(
1183
        non_default_ctor_tag_t) noexcept
1184
    {
1185
    }
1186
};
1187
1188
template <typename T>
1189
using remove_cvref_t = std::remove_cv_t<std::remove_reference_t<T>>;
1190
1191
template <typename T>
1192
struct is_expected_impl : std::false_type {};
1193
template <typename T, typename E>
1194
struct is_expected_impl<expected<T, E>> : std::true_type {};
1195
template <typename T>
1196
using is_expected = is_expected_impl<remove_cvref_t<T>>;
1197
1198
template <typename Exp>
1199
using is_exp_void = std::is_void<typename remove_cvref_t<Exp>::value_type>;
1200
1201
template <typename Exp>
1202
using expected_value_type = typename remove_cvref_t<Exp>::value_type;
1203
1204
template <
1205
    typename F,
1206
    typename... Args,
1207
    typename = std::void_t<decltype(SCN_DECLVAL(F&&)(SCN_DECLVAL(Args&&)...))>>
1208
constexpr decltype(auto) trivial_invoke(F&& f, Args&&... args) noexcept(
1209
    noexcept(std::forward<F>(f)(std::forward<Args>(args)...)))
1210
8.23M
{
1211
8.23M
    return std::forward<F>(f)(std::forward<Args>(args)...);
1212
8.23M
}
decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error, void>(scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&&)
Line
Count
Source
1210
131k
{
1211
131k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1212
131k
}
decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error, void>(scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&&)
Line
Count
Source
1210
249k
{
1211
249k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1212
249k
}
decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, scn::v3::impl::parse_error, void>(scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&, scn::v3::impl::parse_error&&)
Line
Count
Source
1210
383k
{
1211
383k
    return std::forward<F>(f)(std::forward<Args>(args)...);
1212
383k
}
decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, scn::v3::impl::parse_error&, void>(scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&, scn::v3::impl::parse_error&)
Line
Count
Source
1210
7.46M
{
1211
7.46M
    return std::forward<F>(f)(std::forward<Args>(args)...);
1212
7.46M
}
Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error const&, void>(scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error const&)
Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&, void>(scn::v3::scan_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&)
Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error const&, void>(scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error const&)
Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&, void>(scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), scn::v3::impl::eof_error&)
Unexecuted instantiation: decltype(auto) scn::v3::detail::trivial_invoke<scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, scn::v3::impl::parse_error const&, void>(scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&, scn::v3::impl::parse_error const&)
1213
1214
// and_then
1215
1216
template <typename Exp,
1217
          typename F,
1218
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1219
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1220
                                                 *SCN_DECLVAL(Exp)))>
1221
constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept(
1222
    noexcept(trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))) &&
1223
    std::is_nothrow_constructible_v<Ret,
1224
                                    unexpect_t,
1225
                                    decltype(std::forward<Exp>(exp).error())>)
1226
{
1227
    static_assert(is_expected<Ret>::value, "F must return an expected");
1228
1229
    return SCN_LIKELY(exp.has_value())
1230
               ? trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp))
1231
               : Ret(unexpect, std::forward<Exp>(exp).error());
1232
}
1233
template <typename Exp,
1234
          typename F,
1235
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1236
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))>
1237
constexpr auto and_then_impl(Exp&& exp, F&& f) noexcept(
1238
    noexcept(trivial_invoke(std::forward<F>(f))) &&
1239
    std::is_nothrow_constructible_v<Ret,
1240
                                    unexpect_t,
1241
                                    decltype(std::forward<Exp>(exp).error())>)
1242
{
1243
    static_assert(is_expected<Ret>::value, "F must return an expected");
1244
1245
    return SCN_LIKELY(exp.has_value())
1246
               ? trivial_invoke(std::forward<F>(f))
1247
               : Ret(unexpect, std::forward<Exp>(exp).error());
1248
}
1249
1250
// or_else
1251
1252
template <typename Exp,
1253
          typename F,
1254
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1255
                                                 SCN_DECLVAL(Exp).error()))>
1256
constexpr auto or_else_impl(Exp&& exp, F&& f) noexcept(
1257
    noexcept(trivial_invoke(std::forward<F>(f),
1258
                            std::forward<Exp>(exp).error())) &&
1259
    std::is_nothrow_constructible_v<Ret, decltype(std::forward<Exp>(exp))>)
1260
{
1261
    static_assert(is_expected<Ret>::value, "F must return an expected");
1262
1263
    return SCN_LIKELY(exp.has_value())
1264
               ? Ret(std::forward<Exp>(exp))
1265
               : trivial_invoke(std::forward<F>(f),
1266
                                std::forward<Exp>(exp).error());
1267
}
1268
1269
// transform
1270
1271
template <typename Exp,
1272
          typename F,
1273
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1274
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1275
                                                 *SCN_DECLVAL(Exp)))>
1276
constexpr auto transform_impl(Exp&& exp, F&& f)
1277
{
1278
    using result = typename remove_cvref_t<Exp>::template rebind<Ret>;
1279
    if constexpr (std::is_void_v<Ret>) {
1280
        if (SCN_LIKELY(exp.has_value())) {
1281
            trivial_invoke(std::forward<F>(f), *std::forward<Exp>(exp));
1282
            return result();
1283
        }
1284
        return result(unexpect, std::forward<Exp>(exp).error());
1285
    }
1286
    else {
1287
        return SCN_LIKELY(exp.has_value())
1288
                   ? result(trivial_invoke(std::forward<F>(f),
1289
                                           *std::forward<Exp>(exp)))
1290
                   : result(unexpect, std::forward<Exp>(exp).error());
1291
    }
1292
}
1293
template <typename Exp,
1294
          typename F,
1295
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1296
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F)))>
1297
constexpr auto transform_impl(Exp&& exp, F&& f)
1298
{
1299
    using result = typename remove_cvref_t<Exp>::template rebind<Ret>;
1300
    if constexpr (std::is_void_v<Ret>) {
1301
        if (SCN_LIKELY(exp.has_value())) {
1302
            trivial_invoke(std::forward<F>(f));
1303
            return result();
1304
        }
1305
        return result(unexpect, std::forward<Exp>(exp).error());
1306
    }
1307
    else {
1308
        return SCN_LIKELY(exp.has_value())
1309
                   ? result(trivial_invoke(std::forward<F>(f)))
1310
                   : result(unexpect, std::forward<Exp>(exp).error());
1311
    }
1312
}
1313
1314
// transform_error
1315
1316
template <typename Exp,
1317
          typename F,
1318
          std::enable_if_t<!is_exp_void<Exp>::value>* = nullptr,
1319
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1320
                                                 SCN_DECLVAL(Exp).error()))>
1321
constexpr auto transform_error_impl(Exp&& exp, F&& f)
1322
50.6M
{
1323
50.6M
    if constexpr (std::is_void_v<Ret>) {
1324
50.6M
        using result = expected<expected_value_type<Exp>, monostate>;
1325
50.6M
        if (SCN_LIKELY(exp.has_value())) {
1326
50.6M
            return result(*std::forward<Exp>(exp));
1327
50.6M
        }
1328
1329
50.6M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
50.6M
        return result(unexpect, monostate{});
1331
50.6M
    }
1332
50.6M
    else {
1333
50.6M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
50.6M
        return SCN_LIKELY(exp.has_value())
1335
50.6M
                   ? result(*std::forward<Exp>(exp))
1336
50.6M
                   : result(unexpect,
1337
8.23M
                            trivial_invoke(std::forward<F>(f),
1338
8.23M
                                           std::forward<Exp>(exp).error()));
1339
50.6M
    }
1340
50.6M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
5.56M
{
1323
5.56M
    if constexpr (std::is_void_v<Ret>) {
1324
5.56M
        using result = expected<expected_value_type<Exp>, monostate>;
1325
5.56M
        if (SCN_LIKELY(exp.has_value())) {
1326
5.56M
            return result(*std::forward<Exp>(exp));
1327
5.56M
        }
1328
1329
5.56M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
5.56M
        return result(unexpect, monostate{});
1331
5.56M
    }
1332
5.56M
    else {
1333
5.56M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
5.56M
        return SCN_LIKELY(exp.has_value())
1335
5.56M
                   ? result(*std::forward<Exp>(exp))
1336
5.56M
                   : result(unexpect,
1337
58.8k
                            trivial_invoke(std::forward<F>(f),
1338
58.8k
                                           std::forward<Exp>(exp).error()));
1339
5.56M
    }
1340
5.56M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
1.72M
{
1323
1.72M
    if constexpr (std::is_void_v<Ret>) {
1324
1.72M
        using result = expected<expected_value_type<Exp>, monostate>;
1325
1.72M
        if (SCN_LIKELY(exp.has_value())) {
1326
1.72M
            return result(*std::forward<Exp>(exp));
1327
1.72M
        }
1328
1329
1.72M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
1.72M
        return result(unexpect, monostate{});
1331
1.72M
    }
1332
1.72M
    else {
1333
1.72M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
1.72M
        return SCN_LIKELY(exp.has_value())
1335
1.72M
                   ? result(*std::forward<Exp>(exp))
1336
1.72M
                   : result(unexpect,
1337
7.90k
                            trivial_invoke(std::forward<F>(f),
1338
7.90k
                                           std::forward<Exp>(exp).error()));
1339
1.72M
    }
1340
1.72M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<char const*, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<char const*, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
5.54M
{
1323
5.54M
    if constexpr (std::is_void_v<Ret>) {
1324
5.54M
        using result = expected<expected_value_type<Exp>, monostate>;
1325
5.54M
        if (SCN_LIKELY(exp.has_value())) {
1326
5.54M
            return result(*std::forward<Exp>(exp));
1327
5.54M
        }
1328
1329
5.54M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
5.54M
        return result(unexpect, monostate{});
1331
5.54M
    }
1332
5.54M
    else {
1333
5.54M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
5.54M
        return SCN_LIKELY(exp.has_value())
1335
5.54M
                   ? result(*std::forward<Exp>(exp))
1336
5.54M
                   : result(unexpect,
1337
54.5k
                            trivial_invoke(std::forward<F>(f),
1338
54.5k
                                           std::forward<Exp>(exp).error()));
1339
5.54M
    }
1340
5.54M
}
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>&&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>&&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
10.4M
{
1323
10.4M
    if constexpr (std::is_void_v<Ret>) {
1324
10.4M
        using result = expected<expected_value_type<Exp>, monostate>;
1325
10.4M
        if (SCN_LIKELY(exp.has_value())) {
1326
10.4M
            return result(*std::forward<Exp>(exp));
1327
10.4M
        }
1328
1329
10.4M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
10.4M
        return result(unexpect, monostate{});
1331
10.4M
    }
1332
10.4M
    else {
1333
10.4M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
10.4M
        return SCN_LIKELY(exp.has_value())
1335
10.4M
                   ? result(*std::forward<Exp>(exp))
1336
10.4M
                   : result(unexpect,
1337
78.9k
                            trivial_invoke(std::forward<F>(f),
1338
78.9k
                                           std::forward<Exp>(exp).error()));
1339
10.4M
    }
1340
10.4M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
2.16M
{
1323
2.16M
    if constexpr (std::is_void_v<Ret>) {
1324
2.16M
        using result = expected<expected_value_type<Exp>, monostate>;
1325
2.16M
        if (SCN_LIKELY(exp.has_value())) {
1326
2.16M
            return result(*std::forward<Exp>(exp));
1327
2.16M
        }
1328
1329
2.16M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
2.16M
        return result(unexpect, monostate{});
1331
2.16M
    }
1332
2.16M
    else {
1333
2.16M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
2.16M
        return SCN_LIKELY(exp.has_value())
1335
2.16M
                   ? result(*std::forward<Exp>(exp))
1336
2.16M
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
2.16M
    }
1340
2.16M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>&&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1322
1.65M
{
1323
1.65M
    if constexpr (std::is_void_v<Ret>) {
1324
1.65M
        using result = expected<expected_value_type<Exp>, monostate>;
1325
1.65M
        if (SCN_LIKELY(exp.has_value())) {
1326
1.65M
            return result(*std::forward<Exp>(exp));
1327
1.65M
        }
1328
1329
1.65M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
1.65M
        return result(unexpect, monostate{});
1331
1.65M
    }
1332
1.65M
    else {
1333
1.65M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
1.65M
        return SCN_LIKELY(exp.has_value())
1335
1.65M
                   ? result(*std::forward<Exp>(exp))
1336
1.65M
                   : result(unexpect,
1337
80.8k
                            trivial_invoke(std::forward<F>(f),
1338
80.8k
                                           std::forward<Exp>(exp).error()));
1339
1.65M
    }
1340
1.65M
}
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
1.58k
{
1323
1.58k
    if constexpr (std::is_void_v<Ret>) {
1324
1.58k
        using result = expected<expected_value_type<Exp>, monostate>;
1325
1.58k
        if (SCN_LIKELY(exp.has_value())) {
1326
1.58k
            return result(*std::forward<Exp>(exp));
1327
1.58k
        }
1328
1329
1.58k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
1.58k
        return result(unexpect, monostate{});
1331
1.58k
    }
1332
1.58k
    else {
1333
1.58k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
1.58k
        return SCN_LIKELY(exp.has_value())
1335
1.58k
                   ? result(*std::forward<Exp>(exp))
1336
1.58k
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
1.58k
    }
1340
1.58k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>&&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
3.19k
{
1323
3.19k
    if constexpr (std::is_void_v<Ret>) {
1324
3.19k
        using result = expected<expected_value_type<Exp>, monostate>;
1325
3.19k
        if (SCN_LIKELY(exp.has_value())) {
1326
3.19k
            return result(*std::forward<Exp>(exp));
1327
3.19k
        }
1328
1329
3.19k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
3.19k
        return result(unexpect, monostate{});
1331
3.19k
    }
1332
3.19k
    else {
1333
3.19k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
3.19k
        return SCN_LIKELY(exp.has_value())
1335
3.19k
                   ? result(*std::forward<Exp>(exp))
1336
3.19k
                   : result(unexpect,
1337
350
                            trivial_invoke(std::forward<F>(f),
1338
350
                                           std::forward<Exp>(exp).error()));
1339
3.19k
    }
1340
3.19k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
1.52k
{
1323
1.52k
    if constexpr (std::is_void_v<Ret>) {
1324
1.52k
        using result = expected<expected_value_type<Exp>, monostate>;
1325
1.52k
        if (SCN_LIKELY(exp.has_value())) {
1326
1.52k
            return result(*std::forward<Exp>(exp));
1327
1.52k
        }
1328
1329
1.52k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
1.52k
        return result(unexpect, monostate{});
1331
1.52k
    }
1332
1.52k
    else {
1333
1.52k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
1.52k
        return SCN_LIKELY(exp.has_value())
1335
1.52k
                   ? result(*std::forward<Exp>(exp))
1336
1.52k
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
1.52k
    }
1340
1.52k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>&&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1322
1.51k
{
1323
1.51k
    if constexpr (std::is_void_v<Ret>) {
1324
1.51k
        using result = expected<expected_value_type<Exp>, monostate>;
1325
1.51k
        if (SCN_LIKELY(exp.has_value())) {
1326
1.51k
            return result(*std::forward<Exp>(exp));
1327
1.51k
        }
1328
1329
1.51k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
1.51k
        return result(unexpect, monostate{});
1331
1.51k
    }
1332
1.51k
    else {
1333
1.51k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
1.51k
        return SCN_LIKELY(exp.has_value())
1335
1.51k
                   ? result(*std::forward<Exp>(exp))
1336
1.51k
                   : result(unexpect,
1337
1.51k
                            trivial_invoke(std::forward<F>(f),
1338
1.51k
                                           std::forward<Exp>(exp).error()));
1339
1.51k
    }
1340
1.51k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
2.16M
{
1323
2.16M
    if constexpr (std::is_void_v<Ret>) {
1324
2.16M
        using result = expected<expected_value_type<Exp>, monostate>;
1325
2.16M
        if (SCN_LIKELY(exp.has_value())) {
1326
2.16M
            return result(*std::forward<Exp>(exp));
1327
2.16M
        }
1328
1329
2.16M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
2.16M
        return result(unexpect, monostate{});
1331
2.16M
    }
1332
2.16M
    else {
1333
2.16M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
2.16M
        return SCN_LIKELY(exp.has_value())
1335
2.16M
                   ? result(*std::forward<Exp>(exp))
1336
2.16M
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
2.16M
    }
1340
2.16M
}
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
3.17M
{
1323
3.17M
    if constexpr (std::is_void_v<Ret>) {
1324
3.17M
        using result = expected<expected_value_type<Exp>, monostate>;
1325
3.17M
        if (SCN_LIKELY(exp.has_value())) {
1326
3.17M
            return result(*std::forward<Exp>(exp));
1327
3.17M
        }
1328
1329
3.17M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
3.17M
        return result(unexpect, monostate{});
1331
3.17M
    }
1332
3.17M
    else {
1333
3.17M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
3.17M
        return SCN_LIKELY(exp.has_value())
1335
3.17M
                   ? result(*std::forward<Exp>(exp))
1336
3.17M
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
3.17M
    }
1340
3.17M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1322
3.11M
{
1323
3.11M
    if constexpr (std::is_void_v<Ret>) {
1324
3.11M
        using result = expected<expected_value_type<Exp>, monostate>;
1325
3.11M
        if (SCN_LIKELY(exp.has_value())) {
1326
3.11M
            return result(*std::forward<Exp>(exp));
1327
3.11M
        }
1328
1329
3.11M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
3.11M
        return result(unexpect, monostate{});
1331
3.11M
    }
1332
3.11M
    else {
1333
3.11M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
3.11M
        return SCN_LIKELY(exp.has_value())
1335
3.11M
                   ? result(*std::forward<Exp>(exp))
1336
3.11M
                   : result(unexpect,
1337
3.11M
                            trivial_invoke(std::forward<F>(f),
1338
3.11M
                                           std::forward<Exp>(exp).error()));
1339
3.11M
    }
1340
3.11M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
508
{
1323
508
    if constexpr (std::is_void_v<Ret>) {
1324
508
        using result = expected<expected_value_type<Exp>, monostate>;
1325
508
        if (SCN_LIKELY(exp.has_value())) {
1326
508
            return result(*std::forward<Exp>(exp));
1327
508
        }
1328
1329
508
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
508
        return result(unexpect, monostate{});
1331
508
    }
1332
508
    else {
1333
508
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
508
        return SCN_LIKELY(exp.has_value())
1335
508
                   ? result(*std::forward<Exp>(exp))
1336
508
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
508
    }
1340
508
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1322
1.01k
{
1323
1.01k
    if constexpr (std::is_void_v<Ret>) {
1324
1.01k
        using result = expected<expected_value_type<Exp>, monostate>;
1325
1.01k
        if (SCN_LIKELY(exp.has_value())) {
1326
1.01k
            return result(*std::forward<Exp>(exp));
1327
1.01k
        }
1328
1329
1.01k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
1.01k
        return result(unexpect, monostate{});
1331
1.01k
    }
1332
1.01k
    else {
1333
1.01k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
1.01k
        return SCN_LIKELY(exp.has_value())
1335
1.01k
                   ? result(*std::forward<Exp>(exp))
1336
1.01k
                   : result(unexpect,
1337
1.01k
                            trivial_invoke(std::forward<F>(f),
1338
1.01k
                                           std::forward<Exp>(exp).error()));
1339
1.01k
    }
1340
1.01k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
3.01M
{
1323
3.01M
    if constexpr (std::is_void_v<Ret>) {
1324
3.01M
        using result = expected<expected_value_type<Exp>, monostate>;
1325
3.01M
        if (SCN_LIKELY(exp.has_value())) {
1326
3.01M
            return result(*std::forward<Exp>(exp));
1327
3.01M
        }
1328
1329
3.01M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
3.01M
        return result(unexpect, monostate{});
1331
3.01M
    }
1332
3.01M
    else {
1333
3.01M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
3.01M
        return SCN_LIKELY(exp.has_value())
1335
3.01M
                   ? result(*std::forward<Exp>(exp))
1336
3.01M
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
3.01M
    }
1340
3.01M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<char const*, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<char const*, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1322
2.90M
{
1323
2.90M
    if constexpr (std::is_void_v<Ret>) {
1324
2.90M
        using result = expected<expected_value_type<Exp>, monostate>;
1325
2.90M
        if (SCN_LIKELY(exp.has_value())) {
1326
2.90M
            return result(*std::forward<Exp>(exp));
1327
2.90M
        }
1328
1329
2.90M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
2.90M
        return result(unexpect, monostate{});
1331
2.90M
    }
1332
2.90M
    else {
1333
2.90M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
2.90M
        return SCN_LIKELY(exp.has_value())
1335
2.90M
                   ? result(*std::forward<Exp>(exp))
1336
2.90M
                   : result(unexpect,
1337
2.90M
                            trivial_invoke(std::forward<F>(f),
1338
2.90M
                                           std::forward<Exp>(exp).error()));
1339
2.90M
    }
1340
2.90M
}
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>&&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>&&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
1.52M
{
1323
1.52M
    if constexpr (std::is_void_v<Ret>) {
1324
1.52M
        using result = expected<expected_value_type<Exp>, monostate>;
1325
1.52M
        if (SCN_LIKELY(exp.has_value())) {
1326
1.52M
            return result(*std::forward<Exp>(exp));
1327
1.52M
        }
1328
1329
1.52M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
1.52M
        return result(unexpect, monostate{});
1331
1.52M
    }
1332
1.52M
    else {
1333
1.52M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
1.52M
        return SCN_LIKELY(exp.has_value())
1335
1.52M
                   ? result(*std::forward<Exp>(exp))
1336
1.52M
                   : result(unexpect,
1337
84.7k
                            trivial_invoke(std::forward<F>(f),
1338
84.7k
                                           std::forward<Exp>(exp).error()));
1339
1.52M
    }
1340
1.52M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
351k
{
1323
351k
    if constexpr (std::is_void_v<Ret>) {
1324
351k
        using result = expected<expected_value_type<Exp>, monostate>;
1325
351k
        if (SCN_LIKELY(exp.has_value())) {
1326
351k
            return result(*std::forward<Exp>(exp));
1327
351k
        }
1328
1329
351k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
351k
        return result(unexpect, monostate{});
1331
351k
    }
1332
351k
    else {
1333
351k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
351k
        return SCN_LIKELY(exp.has_value())
1335
351k
                   ? result(*std::forward<Exp>(exp))
1336
351k
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
351k
    }
1340
351k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>&&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1322
303k
{
1323
303k
    if constexpr (std::is_void_v<Ret>) {
1324
303k
        using result = expected<expected_value_type<Exp>, monostate>;
1325
303k
        if (SCN_LIKELY(exp.has_value())) {
1326
303k
            return result(*std::forward<Exp>(exp));
1327
303k
        }
1328
1329
303k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
303k
        return result(unexpect, monostate{});
1331
303k
    }
1332
303k
    else {
1333
303k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
303k
        return SCN_LIKELY(exp.has_value())
1335
303k
                   ? result(*std::forward<Exp>(exp))
1336
303k
                   : result(unexpect,
1337
300k
                            trivial_invoke(std::forward<F>(f),
1338
300k
                                           std::forward<Exp>(exp).error()));
1339
303k
    }
1340
303k
}
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
386
{
1323
386
    if constexpr (std::is_void_v<Ret>) {
1324
386
        using result = expected<expected_value_type<Exp>, monostate>;
1325
386
        if (SCN_LIKELY(exp.has_value())) {
1326
386
            return result(*std::forward<Exp>(exp));
1327
386
        }
1328
1329
386
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
386
        return result(unexpect, monostate{});
1331
386
    }
1332
386
    else {
1333
386
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
386
        return SCN_LIKELY(exp.has_value())
1335
386
                   ? result(*std::forward<Exp>(exp))
1336
386
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
386
    }
1340
386
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
2.61M
{
1323
2.61M
    if constexpr (std::is_void_v<Ret>) {
1324
2.61M
        using result = expected<expected_value_type<Exp>, monostate>;
1325
2.61M
        if (SCN_LIKELY(exp.has_value())) {
1326
2.61M
            return result(*std::forward<Exp>(exp));
1327
2.61M
        }
1328
1329
2.61M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
2.61M
        return result(unexpect, monostate{});
1331
2.61M
    }
1332
2.61M
    else {
1333
2.61M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
2.61M
        return SCN_LIKELY(exp.has_value())
1335
2.61M
                   ? result(*std::forward<Exp>(exp))
1336
2.61M
                   : result(unexpect,
1337
10.4k
                            trivial_invoke(std::forward<F>(f),
1338
10.4k
                                           std::forward<Exp>(exp).error()));
1339
2.61M
    }
1340
2.61M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>&&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
1.61k
{
1323
1.61k
    if constexpr (std::is_void_v<Ret>) {
1324
1.61k
        using result = expected<expected_value_type<Exp>, monostate>;
1325
1.61k
        if (SCN_LIKELY(exp.has_value())) {
1326
1.61k
            return result(*std::forward<Exp>(exp));
1327
1.61k
        }
1328
1329
1.61k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
1.61k
        return result(unexpect, monostate{});
1331
1.61k
    }
1332
1.61k
    else {
1333
1.61k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
1.61k
        return SCN_LIKELY(exp.has_value())
1335
1.61k
                   ? result(*std::forward<Exp>(exp))
1336
1.61k
                   : result(unexpect,
1337
172
                            trivial_invoke(std::forward<F>(f),
1338
172
                                           std::forward<Exp>(exp).error()));
1339
1.61k
    }
1340
1.61k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
770
{
1323
770
    if constexpr (std::is_void_v<Ret>) {
1324
770
        using result = expected<expected_value_type<Exp>, monostate>;
1325
770
        if (SCN_LIKELY(exp.has_value())) {
1326
770
            return result(*std::forward<Exp>(exp));
1327
770
        }
1328
1329
770
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
770
        return result(unexpect, monostate{});
1331
770
    }
1332
770
    else {
1333
770
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
770
        return SCN_LIKELY(exp.has_value())
1335
770
                   ? result(*std::forward<Exp>(exp))
1336
770
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
770
    }
1340
770
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>&&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1322
718
{
1323
718
    if constexpr (std::is_void_v<Ret>) {
1324
718
        using result = expected<expected_value_type<Exp>, monostate>;
1325
718
        if (SCN_LIKELY(exp.has_value())) {
1326
718
            return result(*std::forward<Exp>(exp));
1327
718
        }
1328
1329
718
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
718
        return result(unexpect, monostate{});
1331
718
    }
1332
718
    else {
1333
718
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
718
        return SCN_LIKELY(exp.has_value())
1335
718
                   ? result(*std::forward<Exp>(exp))
1336
718
                   : result(unexpect,
1337
718
                            trivial_invoke(std::forward<F>(f),
1338
718
                                           std::forward<Exp>(exp).error()));
1339
718
    }
1340
718
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>&&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
1.53M
{
1323
1.53M
    if constexpr (std::is_void_v<Ret>) {
1324
1.53M
        using result = expected<expected_value_type<Exp>, monostate>;
1325
1.53M
        if (SCN_LIKELY(exp.has_value())) {
1326
1.53M
            return result(*std::forward<Exp>(exp));
1327
1.53M
        }
1328
1329
1.53M
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
1.53M
        return result(unexpect, monostate{});
1331
1.53M
    }
1332
1.53M
    else {
1333
1.53M
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
1.53M
        return SCN_LIKELY(exp.has_value())
1335
1.53M
                   ? result(*std::forward<Exp>(exp))
1336
1.53M
                   : result(unexpect,
1337
84.9k
                            trivial_invoke(std::forward<F>(f),
1338
84.9k
                                           std::forward<Exp>(exp).error()));
1339
1.53M
    }
1340
1.53M
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
355k
{
1323
355k
    if constexpr (std::is_void_v<Ret>) {
1324
355k
        using result = expected<expected_value_type<Exp>, monostate>;
1325
355k
        if (SCN_LIKELY(exp.has_value())) {
1326
355k
            return result(*std::forward<Exp>(exp));
1327
355k
        }
1328
1329
355k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
355k
        return result(unexpect, monostate{});
1331
355k
    }
1332
355k
    else {
1333
355k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
355k
        return SCN_LIKELY(exp.has_value())
1335
355k
                   ? result(*std::forward<Exp>(exp))
1336
355k
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
355k
    }
1340
355k
}
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
484k
{
1323
484k
    if constexpr (std::is_void_v<Ret>) {
1324
484k
        using result = expected<expected_value_type<Exp>, monostate>;
1325
484k
        if (SCN_LIKELY(exp.has_value())) {
1326
484k
            return result(*std::forward<Exp>(exp));
1327
484k
        }
1328
1329
484k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
484k
        return result(unexpect, monostate{});
1331
484k
    }
1332
484k
    else {
1333
484k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
484k
        return SCN_LIKELY(exp.has_value())
1335
484k
                   ? result(*std::forward<Exp>(exp))
1336
484k
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
484k
    }
1340
484k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1322
804k
{
1323
804k
    if constexpr (std::is_void_v<Ret>) {
1324
804k
        using result = expected<expected_value_type<Exp>, monostate>;
1325
804k
        if (SCN_LIKELY(exp.has_value())) {
1326
804k
            return result(*std::forward<Exp>(exp));
1327
804k
        }
1328
1329
804k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
804k
        return result(unexpect, monostate{});
1331
804k
    }
1332
804k
    else {
1333
804k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
804k
        return SCN_LIKELY(exp.has_value())
1335
804k
                   ? result(*std::forward<Exp>(exp))
1336
804k
                   : result(unexpect,
1337
804k
                            trivial_invoke(std::forward<F>(f),
1338
804k
                                           std::forward<Exp>(exp).error()));
1339
804k
    }
1340
804k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
264
{
1323
264
    if constexpr (std::is_void_v<Ret>) {
1324
264
        using result = expected<expected_value_type<Exp>, monostate>;
1325
264
        if (SCN_LIKELY(exp.has_value())) {
1326
264
            return result(*std::forward<Exp>(exp));
1327
264
        }
1328
1329
264
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
264
        return result(unexpect, monostate{});
1331
264
    }
1332
264
    else {
1333
264
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
264
        return SCN_LIKELY(exp.has_value())
1335
264
                   ? result(*std::forward<Exp>(exp))
1336
264
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
264
    }
1340
264
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1322
528
{
1323
528
    if constexpr (std::is_void_v<Ret>) {
1324
528
        using result = expected<expected_value_type<Exp>, monostate>;
1325
528
        if (SCN_LIKELY(exp.has_value())) {
1326
528
            return result(*std::forward<Exp>(exp));
1327
528
        }
1328
1329
528
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
528
        return result(unexpect, monostate{});
1331
528
    }
1332
528
    else {
1333
528
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
528
        return SCN_LIKELY(exp.has_value())
1335
528
                   ? result(*std::forward<Exp>(exp))
1336
528
                   : result(unexpect,
1337
528
                            trivial_invoke(std::forward<F>(f),
1338
528
                                           std::forward<Exp>(exp).error()));
1339
528
    }
1340
528
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
486k
{
1323
486k
    if constexpr (std::is_void_v<Ret>) {
1324
486k
        using result = expected<expected_value_type<Exp>, monostate>;
1325
486k
        if (SCN_LIKELY(exp.has_value())) {
1326
486k
            return result(*std::forward<Exp>(exp));
1327
486k
        }
1328
1329
486k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
486k
        return result(unexpect, monostate{});
1331
486k
    }
1332
486k
    else {
1333
486k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
486k
        return SCN_LIKELY(exp.has_value())
1335
486k
                   ? result(*std::forward<Exp>(exp))
1336
486k
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
486k
    }
1340
486k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Line
Count
Source
1322
632k
{
1323
632k
    if constexpr (std::is_void_v<Ret>) {
1324
632k
        using result = expected<expected_value_type<Exp>, monostate>;
1325
632k
        if (SCN_LIKELY(exp.has_value())) {
1326
632k
            return result(*std::forward<Exp>(exp));
1327
632k
        }
1328
1329
632k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
632k
        return result(unexpect, monostate{});
1331
632k
    }
1332
632k
    else {
1333
632k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
632k
        return SCN_LIKELY(exp.has_value())
1335
632k
                   ? result(*std::forward<Exp>(exp))
1336
632k
                   : result(unexpect,
1337
632k
                            trivial_invoke(std::forward<F>(f),
1338
632k
                                           std::forward<Exp>(exp).error()));
1339
632k
    }
1340
632k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<char const*, scn::v3::impl::eof_error>, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<char const*, scn::v3::impl::eof_error>&&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
2.19k
{
1323
2.19k
    if constexpr (std::is_void_v<Ret>) {
1324
2.19k
        using result = expected<expected_value_type<Exp>, monostate>;
1325
2.19k
        if (SCN_LIKELY(exp.has_value())) {
1326
2.19k
            return result(*std::forward<Exp>(exp));
1327
2.19k
        }
1328
1329
2.19k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
2.19k
        return result(unexpect, monostate{});
1331
2.19k
    }
1332
2.19k
    else {
1333
2.19k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
2.19k
        return SCN_LIKELY(exp.has_value())
1335
2.19k
                   ? result(*std::forward<Exp>(exp))
1336
2.19k
                   : result(unexpect,
1337
102
                            trivial_invoke(std::forward<F>(f),
1338
102
                                           std::forward<Exp>(exp).error()));
1339
2.19k
    }
1340
2.19k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
3.75k
{
1323
3.75k
    if constexpr (std::is_void_v<Ret>) {
1324
3.75k
        using result = expected<expected_value_type<Exp>, monostate>;
1325
3.75k
        if (SCN_LIKELY(exp.has_value())) {
1326
3.75k
            return result(*std::forward<Exp>(exp));
1327
3.75k
        }
1328
1329
3.75k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
3.75k
        return result(unexpect, monostate{});
1331
3.75k
    }
1332
3.75k
    else {
1333
3.75k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
3.75k
        return SCN_LIKELY(exp.has_value())
1335
3.75k
                   ? result(*std::forward<Exp>(exp))
1336
3.75k
                   : result(unexpect,
1337
134
                            trivial_invoke(std::forward<F>(f),
1338
134
                                           std::forward<Exp>(exp).error()));
1339
3.75k
    }
1340
3.75k
}
auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>&&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Line
Count
Source
1322
1.62k
{
1323
1.62k
    if constexpr (std::is_void_v<Ret>) {
1324
1.62k
        using result = expected<expected_value_type<Exp>, monostate>;
1325
1.62k
        if (SCN_LIKELY(exp.has_value())) {
1326
1.62k
            return result(*std::forward<Exp>(exp));
1327
1.62k
        }
1328
1329
1.62k
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1330
1.62k
        return result(unexpect, monostate{});
1331
1.62k
    }
1332
1.62k
    else {
1333
1.62k
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1334
1.62k
        return SCN_LIKELY(exp.has_value())
1335
1.62k
                   ? result(*std::forward<Exp>(exp))
1336
1.62k
                   : result(unexpect,
1337
0
                            trivial_invoke(std::forward<F>(f),
1338
0
                                           std::forward<Exp>(exp).error()));
1339
1.62k
    }
1340
1.62k
}
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<char const*, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<char const*, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<char const*, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<char const*, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<char const*, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<char const*, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}, (void*)0, scn::v3::scan_error>(scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error> const&, scn::v3::impl::map_parse_error_to_scan_error(scn::v3::scan_error::code, char const*)::{lambda(scn::v3::impl::parse_error)#1}&&)
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<char const*, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<char const*, scn::v3::impl::eof_error> const&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<char const*, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::impl::parse_error>(scn::v3::expected<char const*, scn::v3::impl::eof_error>&, scn::v3::impl::parse_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error> const&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
Unexecuted instantiation: auto scn::v3::detail::transform_error_impl<scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error), (void*)0, scn::v3::scan_error>(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>&, scn::v3::scan_error (&)(scn::v3::impl::eof_error))
1341
template <typename Exp,
1342
          typename F,
1343
          std::enable_if_t<is_exp_void<Exp>::value>* = nullptr,
1344
          typename Ret = decltype(trivial_invoke(SCN_DECLVAL(F),
1345
                                                 SCN_DECLVAL(Exp).error()))>
1346
constexpr auto transform_error_impl(Exp&& exp, F&& f)
1347
{
1348
    if constexpr (std::is_void_v<Ret>) {
1349
        using result = expected<expected_value_type<Exp>, monostate>;
1350
        if (SCN_LIKELY(exp.has_value())) {
1351
            return result();
1352
        }
1353
1354
        trivial_invoke(std::forward<F>(f), std::forward<Exp>(exp).error());
1355
        return result(unexpect, monostate{});
1356
    }
1357
    else {
1358
        using result = expected<expected_value_type<Exp>, remove_cvref_t<Ret>>;
1359
        return SCN_LIKELY(exp.has_value())
1360
                   ? result()
1361
                   : result(unexpect,
1362
                            trivial_invoke(std::forward<F>(f),
1363
                                           std::forward<Exp>(exp).error()));
1364
    }
1365
}
1366
1367
template <class T, class E, class U, class G, class UR, class GR>
1368
using enable_from_other =
1369
    std::enable_if_t<std::is_constructible_v<T, UR> &&
1370
                     std::is_constructible_v<E, GR> &&
1371
                     !std::is_constructible_v<T, expected<U, G>&> &&
1372
                     !std::is_constructible_v<T, expected<U, G>&&> &&
1373
                     !std::is_constructible_v<T, const expected<U, G>&> &&
1374
                     !std::is_constructible_v<T, const expected<U, G>&&> &&
1375
                     !std::is_convertible_v<expected<U, G>&, T> &&
1376
                     !std::is_convertible_v<expected<U, G>&&, T> &&
1377
                     !std::is_convertible_v<const expected<U, G>&, T> &&
1378
                     !std::is_convertible_v<const expected<U, G>&&, T>>;
1379
}  // namespace detail
1380
1381
template <typename T, typename E>
1382
class SCN_TRIVIAL_ABI expected
1383
    : private detail::expected_operations_base<T, E>,
1384
      private detail::expected_delete_ctor_base<T, E>,
1385
      private detail::expected_delete_assign_base<T, E>,
1386
      private detail::expected_default_ctor_base<T, E> {
1387
    using base = detail::expected_operations_base<T, E>;
1388
    using ctor_base = detail::expected_default_ctor_base<T, E>;
1389
1390
    static_assert(std::is_void_v<T> || std::is_destructible_v<T>,
1391
                  "T must be void or Destructible");
1392
    static_assert(std::is_destructible_v<E>, "E must be Destructible");
1393
1394
    static_assert(!std::is_same_v<std::remove_cv_t<T>, std::in_place_t>);
1395
    static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpect_t>);
1396
    static_assert(!std::is_same_v<std::remove_cv_t<T>, unexpected<E>>);
1397
1398
public:
1399
    using value_type = T;
1400
    using error_type = E;
1401
    using unexpected_type = unexpected<E>;
1402
1403
    template <typename U>
1404
    using rebind = expected<U, error_type>;
1405
1406
    // Special member functions are defaulted, implementations provided
1407
    // by base classes
1408
1409
    constexpr expected() = default;
1410
1411
    constexpr expected(const expected&) = default;
1412
    constexpr expected(expected&&) = default;
1413
    constexpr expected& operator=(const expected&) = default;
1414
    constexpr expected& operator=(expected&&) = default;
1415
1416
    ~expected() = default;
1417
1418
    /**
1419
     * Construct an expected value.
1420
     * Intentionally non-explicit, to make constructing an expected
1421
     * value as transparent as possible.
1422
     */
1423
    template <typename U = value_type,
1424
              typename = std::enable_if_t<std::is_convertible_v<U, value_type>>>
1425
    SCN_IMPLICIT constexpr expected(U&& val) noexcept(
1426
        std::is_nothrow_constructible_v<base, std::in_place_t, U&&>)
1427
        : base(std::in_place, std::forward<U>(val)),
1428
          ctor_base(detail::non_default_ctor_tag_t{})
1429
237M
    {
1430
237M
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
1429
5.19M
    {
1430
5.19M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>&&)
Line
Count
Source
1429
296k
    {
1430
296k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>&&)
Line
Count
Source
1429
283k
    {
1430
283k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>&&)
Line
Count
Source
1429
382k
    {
1430
382k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>&&)
Line
Count
Source
1429
324k
    {
1430
324k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>&&)
Line
Count
Source
1429
390k
    {
1430
390k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>&&)
Line
Count
Source
1429
328k
    {
1430
328k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
1429
5.22M
    {
1430
5.22M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>&&)
Line
Count
Source
1429
297k
    {
1430
297k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>&&)
Line
Count
Source
1429
284k
    {
1430
284k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>&&)
Line
Count
Source
1429
383k
    {
1430
383k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>&&)
Line
Count
Source
1429
326k
    {
1430
326k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>&&)
Line
Count
Source
1429
390k
    {
1430
390k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>&&)
Line
Count
Source
1429
330k
    {
1430
330k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1429
1.90M
    {
1430
1.90M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>&&)
Line
Count
Source
1429
595
    {
1430
595
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>&&)
Line
Count
Source
1429
500
    {
1430
500
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>&&)
Line
Count
Source
1429
711
    {
1430
711
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>&&)
Line
Count
Source
1429
564
    {
1430
564
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>&&)
Line
Count
Source
1429
864
    {
1430
864
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>&&)
Line
Count
Source
1429
694
    {
1430
694
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
1429
1.03M
    {
1430
1.03M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>&&)
Line
Count
Source
1429
595
    {
1430
595
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>&&)
Line
Count
Source
1429
500
    {
1430
500
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>&&)
Line
Count
Source
1429
711
    {
1430
711
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>&&)
Line
Count
Source
1429
564
    {
1430
564
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>&&)
Line
Count
Source
1429
864
    {
1430
864
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>&&)
Line
Count
Source
1429
694
    {
1430
694
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1429
22.1M
    {
1430
22.1M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1429
3.54M
    {
1430
3.54M
    }
scn::v3::expected<char const*, scn::v3::scan_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1429
28.3M
    {
1430
28.3M
    }
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1429
6.32M
    {
1430
6.32M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1429
27.7M
    {
1430
27.7M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>&&)
Line
Count
Source
1429
7.82M
    {
1430
7.82M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
1429
2.45M
    {
1430
2.45M
    }
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
1429
5.63M
    {
1430
5.63M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&&)
Line
Count
Source
1429
15.9M
    {
1430
15.9M
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1429
2.16M
    {
1430
2.16M
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&&)
Line
Count
Source
1429
2.16M
    {
1430
2.16M
    }
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1429
311k
    {
1430
311k
    }
scn::v3::expected<char const*, scn::v3::impl::eof_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1429
12.7M
    {
1430
12.7M
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
1429
9.25k
    {
1430
9.25k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&&)
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>&&)
Line
Count
Source
1429
9.16k
    {
1430
9.16k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
1429
4.23k
    {
1430
4.23k
    }
scn::v3::expected<std::__1::pair<char const*, long>, scn::v3::scan_error>::expected<std::__1::pair<char const*, long>, void>(std::__1::pair<char const*, long>&&)
Line
Count
Source
1429
7.62M
    {
1430
7.62M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&&)
Line
Count
Source
1429
2.03k
    {
1430
2.03k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&&)
Line
Count
Source
1429
2.84k
    {
1430
2.84k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1429
1.52k
    {
1430
1.52k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&&)
Line
Count
Source
1429
1.52k
    {
1430
1.52k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::expected<char const*, scn::v3::impl::parse_error>::expected<char const*&, void>(char const*&)
Line
Count
Source
1429
1.81M
    {
1430
1.81M
    }
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, void>(std::__1::pair<char const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
1429
5.26M
    {
1430
5.26M
    }
scn::v3::expected<char const*, scn::v3::impl::parse_error>::expected<char const*, void>(char const*&&)
Line
Count
Source
1429
1.29M
    {
1430
1.29M
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, void>(scn::v3::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
1429
2.16M
    {
1430
2.16M
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, void>(scn::v3::impl::parse_integer_prefix_result<char const*>&&)
Line
Count
Source
1429
2.16M
    {
1430
2.16M
    }
scn::v3::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1429
309k
    {
1430
309k
    }
scn::v3::expected<long, scn::v3::scan_error>::expected<long, void>(long&&)
Line
Count
Source
1429
25.5M
    {
1430
25.5M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
1429
3.17M
    {
1430
3.17M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator&, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator&)
Line
Count
Source
1429
153k
    {
1430
153k
    }
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&&)
Line
Count
Source
1429
508
    {
1430
508
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&)
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, void>(std::__1::pair<char const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
1429
3.01M
    {
1430
3.01M
    }
scn::v3::expected<char const*, scn::v3::scan_error>::expected<char const*&, void>(char const*&)
Line
Count
Source
1429
152k
    {
1430
152k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
scn::v3::expected<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error>::expected<std::__1::regex_constants::syntax_option_type, void>(std::__1::regex_constants::syntax_option_type&&)
Line
Count
Source
1429
68.5k
    {
1430
68.5k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, void>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
1429
1.01k
    {
1430
1.01k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const&)
Line
Count
Source
1429
2.06k
    {
1430
2.06k
    }
scn::v3::expected<char const*, scn::v3::scan_error>::expected<char const* const&, void>(char const* const&)
Line
Count
Source
1429
7.03k
    {
1430
7.03k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1429
4.39M
    {
1430
4.39M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&&)
Line
Count
Source
1429
1.46M
    {
1430
1.46M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&&)
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
Line
Count
Source
1429
11.1k
    {
1430
11.1k
    }
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
1429
842k
    {
1430
842k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&&)
Line
Count
Source
1429
1.61M
    {
1430
1.61M
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1429
351k
    {
1430
351k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&&)
Line
Count
Source
1429
351k
    {
1430
351k
    }
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1429
724
    {
1430
724
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1429
5.08M
    {
1430
5.08M
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1429
3.43k
    {
1430
3.43k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&&)
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>&&)
Line
Count
Source
1429
2.52k
    {
1430
2.52k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1429
976
    {
1430
976
    }
scn::v3::expected<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error>::expected<std::__1::pair<wchar_t const*, long>, void>(std::__1::pair<wchar_t const*, long>&&)
Line
Count
Source
1429
2.20M
    {
1430
2.20M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&&)
Line
Count
Source
1429
1.03k
    {
1430
1.03k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
1429
1.44k
    {
1430
1.44k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1429
770
    {
1430
770
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>(scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&&)
Line
Count
Source
1429
770
    {
1430
770
    }
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::expected<wchar_t const*&, void>(wchar_t const*&)
Line
Count
Source
1429
6.42k
    {
1430
6.42k
    }
scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
1429
843k
    {
1430
843k
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::expected<wchar_t const*, void>(wchar_t const*&&)
Line
Count
Source
1429
1.51M
    {
1430
1.51M
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
1429
355k
    {
1430
355k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, void>(scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&&)
Line
Count
Source
1429
355k
    {
1430
355k
    }
scn::v3::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1429
724
    {
1430
724
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&)
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&&)
Line
Count
Source
1429
484k
    {
1430
484k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&)
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, void>(std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&&)
Line
Count
Source
1429
264
    {
1430
264
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&)
scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, void>(std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&&)
Line
Count
Source
1429
486k
    {
1430
486k
    }
Unexecuted instantiation: scn::v3::expected<wchar_t const*, scn::v3::scan_error>::expected<wchar_t const*&, void>(wchar_t const*&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, void>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
1429
74
    {
1430
74
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const&)
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::expected<wchar_t const* const&, void>(wchar_t const* const&)
Line
Count
Source
1429
1.28k
    {
1430
1.28k
    }
scn::v3::expected<long, scn::v3::scan_error>::expected<int, void>(int&&)
Line
Count
Source
1429
295k
    {
1430
295k
    }
Unexecuted instantiation: scn::v3::expected<wchar_t, scn::v3::scan_error>::expected<wchar_t, void>(wchar_t&&)
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Line
Count
Source
1429
3.79k
    {
1430
3.79k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&&)
Line
Count
Source
1429
3.62k
    {
1430
3.62k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Line
Count
Source
1429
1.62k
    {
1430
1.62k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&&)
Line
Count
Source
1429
1.62k
    {
1430
1.62k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>&&)
Line
Count
Source
1429
904k
    {
1430
904k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>&&)
Line
Count
Source
1429
981k
    {
1430
981k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>&&)
Line
Count
Source
1429
994k
    {
1430
994k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>&&)
Line
Count
Source
1429
956k
    {
1430
956k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>&&)
Line
Count
Source
1429
1.03M
    {
1430
1.03M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>&&)
Line
Count
Source
1429
1.04M
    {
1430
1.04M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>&&)
Line
Count
Source
1429
53.1k
    {
1430
53.1k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>&&)
Line
Count
Source
1429
53.7k
    {
1430
53.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>&&)
Line
Count
Source
1429
54.5k
    {
1430
54.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>&&)
Line
Count
Source
1429
53.0k
    {
1430
53.0k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>&&)
Line
Count
Source
1429
53.5k
    {
1430
53.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>&&)
Line
Count
Source
1429
54.4k
    {
1430
54.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1429
151k
    {
1430
151k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Line
Count
Source
1429
151k
    {
1430
151k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1429
167k
    {
1430
167k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
1429
868k
    {
1430
868k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Line
Count
Source
1429
868k
    {
1430
868k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
1429
868k
    {
1430
868k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>&&)
Line
Count
Source
1429
222
    {
1430
222
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>&&)
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
1429
1.43k
    {
1430
1.43k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>&&)
Line
Count
Source
1429
112
    {
1430
112
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>&&)
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void>(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
1429
372
    {
1430
372
    }
1431
1432
    /// Construct an expected value directly in-place
1433
    template <typename... Args,
1434
              typename = std::enable_if_t<std::is_constructible_v<T, Args...>>>
1435
    explicit constexpr expected(std::in_place_t, Args&&... args) noexcept(
1436
        std::is_nothrow_constructible_v<base, std::in_place_t, Args&&...>)
1437
        : base(std::in_place, std::forward<Args>(args)...),
1438
          ctor_base(detail::non_default_ctor_tag_t{})
1439
    {
1440
    }
1441
1442
    template <typename G = E,
1443
              std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr,
1444
              std::enable_if_t<!std::is_convertible_v<const G&, E>>* = nullptr>
1445
    explicit constexpr expected(const unexpected<G>& e) noexcept(
1446
        std::is_nothrow_constructible_v<base, unexpect_t, const G&>)
1447
        : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{})
1448
    {
1449
    }
1450
    template <typename G = E,
1451
              std::enable_if_t<std::is_constructible_v<E, const G&>>* = nullptr,
1452
              std::enable_if_t<std::is_convertible_v<const G&, E>>* = nullptr>
1453
    SCN_IMPLICIT constexpr expected(const unexpected<G>& e) noexcept(
1454
        std::is_nothrow_constructible_v<base, unexpect_t, const G&>)
1455
        : base(unexpect, e.error()), ctor_base(detail::non_default_ctor_tag_t{})
1456
    {
1457
    }
1458
1459
    template <typename G = E,
1460
              std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
1461
              std::enable_if_t<!std::is_convertible_v<G&&, E>>* = nullptr>
1462
    explicit constexpr expected(unexpected<G>&& e) noexcept(
1463
        std::is_nothrow_constructible_v<base, unexpect_t, G&&>)
1464
        : base(unexpect, std::move(e.error())),
1465
          ctor_base(detail::non_default_ctor_tag_t{})
1466
    {
1467
    }
1468
    template <typename G = E,
1469
              std::enable_if_t<std::is_constructible_v<E, G&&>>* = nullptr,
1470
              std::enable_if_t<std::is_convertible_v<G&&, E>>* = nullptr>
1471
    SCN_IMPLICIT constexpr expected(unexpected<G>&& e) noexcept(
1472
        std::is_nothrow_constructible_v<base, unexpect_t, G&&>)
1473
        : base(unexpect, std::move(e.error())),
1474
          ctor_base(detail::non_default_ctor_tag_t{})
1475
69.7M
    {
1476
69.7M
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
719k
    {
1476
719k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
40.8k
    {
1476
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
40.8k
    {
1476
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
72.6k
    {
1476
72.6k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
72.6k
    {
1476
72.6k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
40.8k
    {
1476
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
40.8k
    {
1476
40.8k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
423k
    {
1476
423k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
40.8k
    {
1476
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
40.8k
    {
1476
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
40.8k
    {
1476
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
40.8k
    {
1476
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
40.8k
    {
1476
40.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
40.8k
    {
1476
40.8k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
1.44M
    {
1476
1.44M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
81.7k
    {
1476
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
81.7k
    {
1476
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
145k
    {
1476
145k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
145k
    {
1476
145k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
81.7k
    {
1476
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
81.7k
    {
1476
81.7k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
846k
    {
1476
846k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
81.7k
    {
1476
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
81.7k
    {
1476
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
81.7k
    {
1476
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
81.7k
    {
1476
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
81.7k
    {
1476
81.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
81.7k
    {
1476
81.7k
    }
scn::v3::expected<char const*, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
1.15M
    {
1476
1.15M
    }
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
1.91M
    {
1476
1.91M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
720k
    {
1476
720k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1475
171k
    {
1476
171k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
44.8k
    {
1476
44.8k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error::code, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error::code>&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error>&&)
Line
Count
Source
1475
3.24M
    {
1476
3.24M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error::code, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error::code>&&)
Line
Count
Source
1475
22.7M
    {
1476
22.7M
    }
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1475
535
    {
1476
535
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
8.86k
    {
1476
8.86k
    }
scn::v3::expected<char const*, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1475
63.5k
    {
1476
63.5k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1475
380
    {
1476
380
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
134
    {
1476
134
    }
scn::v3::expected<std::__1::pair<char const*, long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
39.2k
    {
1476
39.2k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
10.6k
    {
1476
10.6k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error>&&)
Line
Count
Source
1475
858
    {
1476
858
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error::code, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error::code>&&)
Line
Count
Source
1475
7.98k
    {
1476
7.98k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
16
    {
1476
16
    }
scn::v3::expected<char const*, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error>&&)
Line
Count
Source
1475
3.06M
    {
1476
3.06M
    }
scn::v3::expected<char const*, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error::code, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error::code>&&)
Line
Count
Source
1475
16.3M
    {
1476
16.3M
    }
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1475
168
    {
1476
168
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
scn::v3::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
9.32k
    {
1476
9.32k
    }
scn::v3::expected<long, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
3.95M
    {
1476
3.95M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
1.56M
    {
1476
1.56M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1475
94.0k
    {
1476
94.0k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
5.13k
    {
1476
5.13k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error::code, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error::code>&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error>&&)
Line
Count
Source
1475
570k
    {
1476
570k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error::code, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error::code>&&)
Line
Count
Source
1475
3.54M
    {
1476
3.54M
    }
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1475
66
    {
1476
66
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
46.0k
    {
1476
46.0k
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1475
95.9k
    {
1476
95.9k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1475
172
    {
1476
172
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
scn::v3::expected<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
6.15k
    {
1476
6.15k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
2.96k
    {
1476
2.96k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error>&&)
Line
Count
Source
1475
436
    {
1476
436
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error::code, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error::code>&&)
Line
Count
Source
1475
4.06k
    {
1476
4.06k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
52
    {
1476
52
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error>&&)
Line
Count
Source
1475
571k
    {
1476
571k
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error::code, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::parse_error::code>&&)
Line
Count
Source
1475
2.78M
    {
1476
2.78M
    }
scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1475
18
    {
1476
18
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
scn::v3::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
46.0k
    {
1476
46.0k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
Line
Count
Source
1475
220
    {
1476
220
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>::expected<scn::v3::impl::eof_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::impl::eof_error>&&)
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
54.4k
    {
1476
54.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
86.2k
    {
1476
86.2k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
54.4k
    {
1476
54.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
54.4k
    {
1476
54.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
54.4k
    {
1476
54.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
54.4k
    {
1476
54.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
108k
    {
1476
108k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
172k
    {
1476
172k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
108k
    {
1476
108k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
108k
    {
1476
108k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
108k
    {
1476
108k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
108k
    {
1476
108k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
44.9k
    {
1476
44.9k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
44.9k
    {
1476
44.9k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
14.5k
    {
1476
14.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
92.4k
    {
1476
92.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
92.4k
    {
1476
92.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
29.1k
    {
1476
29.1k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
31.5k
    {
1476
31.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
31.8k
    {
1476
31.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
31.8k
    {
1476
31.8k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
30.3k
    {
1476
30.3k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
63.5k
    {
1476
63.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
63.6k
    {
1476
63.6k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
63.6k
    {
1476
63.6k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::expected<scn::v3::scan_error, (void*)0, (void*)0>(scn::v3::unexpected<scn::v3::scan_error>&&)
Line
Count
Source
1475
63.2k
    {
1476
63.2k
    }
1477
1478
    /// Construct an unexpected value directly in-place
1479
    template <typename... Args,
1480
              typename = std::enable_if_t<std::is_constructible_v<E, Args...>>>
1481
    explicit constexpr expected(unexpect_t, Args&&... args) noexcept(
1482
        std::is_nothrow_constructible_v<base, unexpect_t, Args&&...>)
1483
        : base(unexpect, std::forward<Args>(args)...),
1484
          ctor_base(detail::non_default_ctor_tag_t{})
1485
8.23M
    {
1486
8.23M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
1485
3.25M
    {
1486
3.25M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
1485
1.11M
    {
1486
1.11M
    }
scn::v3::expected<char const*, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
1485
2.96M
    {
1486
2.96M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
1485
78.9k
    {
1486
78.9k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
1485
2.52k
    {
1486
2.52k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
1485
350
    {
1486
350
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
1485
84.7k
    {
1486
84.7k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
1485
1.24k
    {
1486
1.24k
    }
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
1485
642k
    {
1486
642k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
1485
172
    {
1486
172
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
1485
84.9k
    {
1486
84.9k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
scn::v3::expected<char const*, scn::v3::impl::parse_error>::expected<scn::v3::impl::parse_error, void>(scn::v3::unexpect_t, scn::v3::impl::parse_error&&)
Line
Count
Source
1485
102
    {
1486
102
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
Line
Count
Source
1485
134
    {
1486
134
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error>::expected<scn::v3::scan_error, void>(scn::v3::unexpect_t, scn::v3::scan_error&&)
1487
1488
    template <
1489
        typename U,
1490
        typename G,
1491
        std::enable_if_t<!(std::is_convertible_v<const U&, T> &&
1492
                           std::is_convertible_v<const G&, E>)>* = nullptr,
1493
        detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr>
1494
    explicit constexpr expected(const expected<U, G>& other) noexcept(
1495
        std::is_nothrow_constructible_v<T, const U&> &&
1496
        std::is_nothrow_constructible_v<E, const G&>)
1497
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1498
    {
1499
        if (other.has_value()) {
1500
            this->construct(*other);
1501
        }
1502
        else {
1503
            this->construct_unexpected(other.error());
1504
        }
1505
    }
1506
    template <
1507
        typename U,
1508
        typename G,
1509
        std::enable_if_t<(std::is_convertible_v<const U&, T> &&
1510
                          std::is_convertible_v<const G&, E>)>* = nullptr,
1511
        detail::enable_from_other<T, E, U, G, const U&, const G&>* = nullptr>
1512
    constexpr expected(const expected<U, G>& other) noexcept(
1513
        std::is_nothrow_constructible_v<T, const U&> &&
1514
        std::is_nothrow_constructible_v<E, const G&>)
1515
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1516
    {
1517
        if (other.has_value()) {
1518
            this->construct(*other);
1519
        }
1520
        else {
1521
            this->construct_unexpected(other.error());
1522
        }
1523
    }
1524
1525
    template <typename U,
1526
              typename G,
1527
              std::enable_if_t<!(std::is_convertible_v<U&&, T> &&
1528
                                 std::is_convertible_v<G&&, E>)>* = nullptr,
1529
              detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr>
1530
    explicit constexpr expected(expected<U, G>&& other) noexcept(
1531
        std::is_nothrow_constructible_v<T, U&&> &&
1532
        std::is_nothrow_constructible_v<E, G&&>)
1533
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1534
    {
1535
        if (other.has_value()) {
1536
            this->construct(std::move(*other));
1537
        }
1538
        else {
1539
            this->construct_unexpected(std::move(other.error()));
1540
        }
1541
    }
1542
    template <typename U,
1543
              typename G,
1544
              std::enable_if_t<(std::is_convertible_v<U&&, T> &&
1545
                                std::is_convertible_v<G&&, E>)>* = nullptr,
1546
              detail::enable_from_other<T, E, U, G, U&&, G&&>* = nullptr>
1547
    constexpr expected(expected<U, G>&& other) noexcept(
1548
        std::is_nothrow_constructible_v<T, U&&> &&
1549
        std::is_nothrow_constructible_v<E, G&&>)
1550
        : base(), ctor_base(detail::non_default_ctor_tag_t{})
1551
    {
1552
        if (other.has_value()) {
1553
            this->construct(std::move(*other));
1554
        }
1555
        else {
1556
            this->construct_unexpected(std::move(other.error()));
1557
        }
1558
    }
1559
1560
    template <typename U = value_type,
1561
              typename = std::enable_if_t<std::is_convertible_v<U, value_type>>>
1562
    expected& operator=(U&& val) noexcept(
1563
        noexcept(assign_value(std::forward<U>(val))))
1564
    {
1565
        assign_value(std::forward<U>(val));
1566
        return *this;
1567
    }
1568
1569
    expected& operator=(const unexpected_type& unex) noexcept(
1570
        noexcept(assign_unexpected(unex)))
1571
    {
1572
        assign_unexpected(unex);
1573
        return *this;
1574
    }
1575
    expected& operator=(unexpected_type&& unex) noexcept(
1576
        noexcept(assign_unexpected(std::move(unex))))
1577
    {
1578
        assign_unexpected(std::move(unex));
1579
        return *this;
1580
    }
1581
1582
    /// Destroys the contained value, and then initializes the expected
1583
    /// value directly in-place.
1584
    template <typename... Args,
1585
              std::enable_if_t<std::is_constructible_v<T, Args...>>* = nullptr>
1586
    decltype(auto) emplace(Args&&... args) noexcept(
1587
        std::is_nothrow_constructible_v<T, Args...>)
1588
    {
1589
        emplace_impl(std::forward<Args>(args)...);
1590
        if constexpr (!std::is_void_v<T>) {
1591
            return this->get_value();
1592
        }
1593
    }
1594
1595
    using base::has_value;
1596
    constexpr explicit operator bool() const noexcept
1597
293M
    {
1598
293M
        return has_value();
1599
293M
    }
scn::v3::expected<long, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
37.3M
    {
1598
37.3M
        return has_value();
1599
37.3M
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
5.91M
    {
1598
5.91M
        return has_value();
1599
5.91M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
337k
    {
1598
337k
        return has_value();
1599
337k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
324k
    {
1598
324k
        return has_value();
1599
324k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
423k
    {
1598
423k
        return has_value();
1599
423k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
365k
    {
1598
365k
        return has_value();
1599
365k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
431k
    {
1598
431k
        return has_value();
1599
431k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
369k
    {
1598
369k
        return has_value();
1599
369k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
5.64M
    {
1598
5.64M
        return has_value();
1599
5.64M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
338k
    {
1598
338k
        return has_value();
1599
338k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
325k
    {
1598
325k
        return has_value();
1599
325k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
423k
    {
1598
423k
        return has_value();
1599
423k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
367k
    {
1598
367k
        return has_value();
1599
367k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
431k
    {
1598
431k
        return has_value();
1599
431k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
371k
    {
1598
371k
        return has_value();
1599
371k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
3.34M
    {
1598
3.34M
        return has_value();
1599
3.34M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
82.3k
    {
1598
82.3k
        return has_value();
1599
82.3k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
82.2k
    {
1598
82.2k
        return has_value();
1599
82.2k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
82.4k
    {
1598
82.4k
        return has_value();
1599
82.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
82.2k
    {
1598
82.2k
        return has_value();
1599
82.2k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
82.5k
    {
1598
82.5k
        return has_value();
1599
82.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
82.4k
    {
1598
82.4k
        return has_value();
1599
82.4k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
1.87M
    {
1598
1.87M
        return has_value();
1599
1.87M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
82.3k
    {
1598
82.3k
        return has_value();
1599
82.3k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
82.2k
    {
1598
82.2k
        return has_value();
1599
82.2k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
82.4k
    {
1598
82.4k
        return has_value();
1599
82.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
82.2k
    {
1598
82.2k
        return has_value();
1599
82.2k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
82.5k
    {
1598
82.5k
        return has_value();
1599
82.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
82.4k
    {
1598
82.4k
        return has_value();
1599
82.4k
    }
scn::v3::expected<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
68.5k
    {
1598
68.5k
        return has_value();
1599
68.5k
    }
Unexecuted instantiation: scn::v3::expected<wchar_t, scn::v3::scan_error>::operator bool() const
scn::v3::expected<char const*, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
35.5M
    {
1598
35.5M
        return has_value();
1599
35.5M
    }
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
9.37M
    {
1598
9.37M
        return has_value();
1599
9.37M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
11.9M
    {
1598
11.9M
        return has_value();
1599
11.9M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error>::operator bool() const
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
7.87M
    {
1598
7.87M
        return has_value();
1599
7.87M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::operator bool() const
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::operator bool() const
Line
Count
Source
1597
46.0M
    {
1598
46.0M
        return has_value();
1599
46.0M
    }
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
2.46M
    {
1598
2.46M
        return has_value();
1599
2.46M
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
2.16M
    {
1598
2.16M
        return has_value();
1599
2.16M
    }
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
320k
    {
1598
320k
        return has_value();
1599
320k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
29.4M
    {
1598
29.4M
        return has_value();
1599
29.4M
    }
scn::v3::expected<char const*, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
7.29M
    {
1598
7.29M
        return has_value();
1599
7.29M
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
4.85k
    {
1598
4.85k
        return has_value();
1599
4.85k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error>::operator bool() const
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
9.30k
    {
1598
9.30k
        return has_value();
1599
9.30k
    }
scn::v3::expected<std::__1::pair<char const*, long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
7.66M
    {
1598
7.66M
        return has_value();
1599
7.66M
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::operator bool() const
Line
Count
Source
1597
11.0k
    {
1598
11.0k
        return has_value();
1599
11.0k
    }
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
1.52k
    {
1598
1.52k
        return has_value();
1599
1.52k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
1.52k
    {
1598
1.52k
        return has_value();
1599
1.52k
    }
scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
16
    {
1598
16
        return has_value();
1599
16
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
19.9k
    {
1598
19.9k
        return has_value();
1599
19.9k
    }
scn::v3::expected<char const*, scn::v3::impl::parse_error>::operator bool() const
Line
Count
Source
1597
25.5M
    {
1598
25.5M
        return has_value();
1599
25.5M
    }
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
2.25M
    {
1598
2.25M
        return has_value();
1599
2.25M
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
2.16M
    {
1598
2.16M
        return has_value();
1599
2.16M
    }
scn::v3::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
319k
    {
1598
319k
        return has_value();
1599
319k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
3.17M
    {
1598
3.17M
        return has_value();
1599
3.17M
    }
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
508
    {
1598
508
        return has_value();
1599
508
    }
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
3.01M
    {
1598
3.01M
        return has_value();
1599
3.01M
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
1.23M
    {
1598
1.23M
        return has_value();
1599
1.23M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error>::operator bool() const
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
1.47M
    {
1598
1.47M
        return has_value();
1599
1.47M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::operator bool() const
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::operator bool() const
Line
Count
Source
1597
6.01M
    {
1598
6.01M
        return has_value();
1599
6.01M
    }
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
358k
    {
1598
358k
        return has_value();
1599
358k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
351k
    {
1598
351k
        return has_value();
1599
351k
    }
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
46.7k
    {
1598
46.7k
        return has_value();
1599
46.7k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
6.70M
    {
1598
6.70M
        return has_value();
1599
6.70M
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
1.03M
    {
1598
1.03M
        return has_value();
1599
1.03M
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
1.60k
    {
1598
1.60k
        return has_value();
1599
1.60k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>::operator bool() const
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error>::operator bool() const
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
2.52k
    {
1598
2.52k
        return has_value();
1599
2.52k
    }
scn::v3::expected<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
2.21M
    {
1598
2.21M
        return has_value();
1599
2.21M
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::operator bool() const
Line
Count
Source
1597
5.66k
    {
1598
5.66k
        return has_value();
1599
5.66k
    }
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
770
    {
1598
770
        return has_value();
1599
770
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
770
    {
1598
770
        return has_value();
1599
770
    }
scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
52
    {
1598
52
        return has_value();
1599
52
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
5.45k
    {
1598
5.45k
        return has_value();
1599
5.45k
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::operator bool() const
Line
Count
Source
1597
5.44M
    {
1598
5.44M
        return has_value();
1599
5.44M
    }
scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
357k
    {
1598
357k
        return has_value();
1599
357k
    }
scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
355k
    {
1598
355k
        return has_value();
1599
355k
    }
scn::v3::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
46.8k
    {
1598
46.8k
        return has_value();
1599
46.8k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
484k
    {
1598
484k
        return has_value();
1599
484k
    }
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
264
    {
1598
264
        return has_value();
1599
264
    }
scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
486k
    {
1598
486k
        return has_value();
1599
486k
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>::operator bool() const
Line
Count
Source
1597
256
    {
1598
256
        return has_value();
1599
256
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
3.75k
    {
1598
3.75k
        return has_value();
1599
3.75k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>::operator bool() const
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
1.62k
    {
1598
1.62k
        return has_value();
1599
1.62k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
958k
    {
1598
958k
        return has_value();
1599
958k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
1.03M
    {
1598
1.03M
        return has_value();
1599
1.03M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
1.04M
    {
1598
1.04M
        return has_value();
1599
1.04M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
1.01M
    {
1598
1.01M
        return has_value();
1599
1.01M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
1.09M
    {
1598
1.09M
        return has_value();
1599
1.09M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
1.10M
    {
1598
1.10M
        return has_value();
1599
1.10M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
162k
    {
1598
162k
        return has_value();
1599
162k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
162k
    {
1598
162k
        return has_value();
1599
162k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
163k
    {
1598
163k
        return has_value();
1599
163k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
161k
    {
1598
161k
        return has_value();
1599
161k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
162k
    {
1598
162k
        return has_value();
1599
162k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
163k
    {
1598
163k
        return has_value();
1599
163k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
164k
    {
1598
164k
        return has_value();
1599
164k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
164k
    {
1598
164k
        return has_value();
1599
164k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
182k
    {
1598
182k
        return has_value();
1599
182k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
897k
    {
1598
897k
        return has_value();
1599
897k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
897k
    {
1598
897k
        return has_value();
1599
897k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::operator bool() const
Line
Count
Source
1597
897k
    {
1598
897k
        return has_value();
1599
897k
    }
1600
1601
    /// Get the unexpected value, if one is contained in *this
1602
    constexpr error_type& error() & noexcept
1603
39.4M
    {
1604
39.4M
        SCN_EXPECT(!has_value());
1605
39.4M
        return this->get_unexpected().error();
1606
39.4M
    }
scn::v3::expected<long, scn::v3::scan_error>::error() &
Line
Count
Source
1603
3.95M
    {
1604
3.95M
        SCN_EXPECT(!has_value());
1605
3.95M
        return this->get_unexpected().error();
1606
3.95M
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::error() &
Line
Count
Source
1603
719k
    {
1604
719k
        SCN_EXPECT(!has_value());
1605
719k
        return this->get_unexpected().error();
1606
719k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::error() &
Line
Count
Source
1603
423k
    {
1604
423k
        SCN_EXPECT(!has_value());
1605
423k
        return this->get_unexpected().error();
1606
423k
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::error() &
Line
Count
Source
1603
1.44M
    {
1604
1.44M
        SCN_EXPECT(!has_value());
1605
1.44M
        return this->get_unexpected().error();
1606
1.44M
    }
scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::error() &
Line
Count
Source
1603
846k
    {
1604
846k
        SCN_EXPECT(!has_value());
1605
846k
        return this->get_unexpected().error();
1606
846k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<wchar_t, scn::v3::scan_error>::error() &
scn::v3::expected<char const*, scn::v3::scan_error>::error() &
Line
Count
Source
1603
1.25M
    {
1604
1.25M
        SCN_EXPECT(!has_value());
1605
1.25M
        return this->get_unexpected().error();
1606
1.25M
    }
scn::v3::expected<wchar_t const*, scn::v3::scan_error>::error() &
Line
Count
Source
1603
2.07M
    {
1604
2.07M
        SCN_EXPECT(!has_value());
1605
2.07M
        return this->get_unexpected().error();
1606
2.07M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error>::error() &
Line
Count
Source
1603
44.8k
    {
1604
44.8k
        SCN_EXPECT(!has_value());
1605
44.8k
        return this->get_unexpected().error();
1606
44.8k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::error() &
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::error() &
Line
Count
Source
1603
33.2k
    {
1604
33.2k
        SCN_EXPECT(!has_value());
1605
33.2k
        return this->get_unexpected().error();
1606
33.2k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::error() &
Line
Count
Source
1603
10.9M
    {
1604
10.9M
        SCN_EXPECT(!has_value());
1605
10.9M
        return this->get_unexpected().error();
1606
10.9M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Line
Count
Source
1603
8.86k
    {
1604
8.86k
        SCN_EXPECT(!has_value());
1605
8.86k
        return this->get_unexpected().error();
1606
8.86k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::error() &
Line
Count
Source
1603
957k
    {
1604
957k
        SCN_EXPECT(!has_value());
1605
957k
        return this->get_unexpected().error();
1606
957k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error>::error() &
Line
Count
Source
1603
134
    {
1604
134
        SCN_EXPECT(!has_value());
1605
134
        return this->get_unexpected().error();
1606
134
    }
scn::v3::expected<std::__1::pair<char const*, long>, scn::v3::scan_error>::error() &
Line
Count
Source
1603
39.2k
    {
1604
39.2k
        SCN_EXPECT(!has_value());
1605
39.2k
        return this->get_unexpected().error();
1606
39.2k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::error() &
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::error() &
Line
Count
Source
1603
3.91k
    {
1604
3.91k
        SCN_EXPECT(!has_value());
1605
3.91k
        return this->get_unexpected().error();
1606
3.91k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Line
Count
Source
1603
16
    {
1604
16
        SCN_EXPECT(!has_value());
1605
16
        return this->get_unexpected().error();
1606
16
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::error() &
Line
Count
Source
1603
12.6k
    {
1604
12.6k
        SCN_EXPECT(!has_value());
1605
12.6k
        return this->get_unexpected().error();
1606
12.6k
    }
scn::v3::expected<char const*, scn::v3::impl::eof_error>::error() &
Line
Count
Source
1603
7.90k
    {
1604
7.90k
        SCN_EXPECT(!has_value());
1605
7.90k
        return this->get_unexpected().error();
1606
7.90k
    }
scn::v3::expected<char const*, scn::v3::impl::parse_error>::error() &
Line
Count
Source
1603
10.1M
    {
1604
10.1M
        SCN_EXPECT(!has_value());
1605
10.1M
        return this->get_unexpected().error();
1606
10.1M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Line
Count
Source
1603
9.32k
    {
1604
9.32k
        SCN_EXPECT(!has_value());
1605
9.32k
        return this->get_unexpected().error();
1606
9.32k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error>::error() &
Line
Count
Source
1603
5.13k
    {
1604
5.13k
        SCN_EXPECT(!has_value());
1605
5.13k
        return this->get_unexpected().error();
1606
5.13k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::error() &
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::error() &
Line
Count
Source
1603
1.41k
    {
1604
1.41k
        SCN_EXPECT(!has_value());
1605
1.41k
        return this->get_unexpected().error();
1606
1.41k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::error() &
Line
Count
Source
1603
2.21M
    {
1604
2.21M
        SCN_EXPECT(!has_value());
1605
2.21M
        return this->get_unexpected().error();
1606
2.21M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Line
Count
Source
1603
46.0k
    {
1604
46.0k
        SCN_EXPECT(!has_value());
1605
46.0k
        return this->get_unexpected().error();
1606
46.0k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::error() &
Line
Count
Source
1603
2.18M
    {
1604
2.18M
        SCN_EXPECT(!has_value());
1605
2.18M
        return this->get_unexpected().error();
1606
2.18M
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error>::error() &
Line
Count
Source
1603
6.15k
    {
1604
6.15k
        SCN_EXPECT(!has_value());
1605
6.15k
        return this->get_unexpected().error();
1606
6.15k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::error() &
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::error() &
Line
Count
Source
1603
1.99k
    {
1604
1.99k
        SCN_EXPECT(!has_value());
1605
1.99k
        return this->get_unexpected().error();
1606
1.99k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Line
Count
Source
1603
52
    {
1604
52
        SCN_EXPECT(!has_value());
1605
52
        return this->get_unexpected().error();
1606
52
    }
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::error() &
Line
Count
Source
1603
3.95k
    {
1604
3.95k
        SCN_EXPECT(!has_value());
1605
3.95k
        return this->get_unexpected().error();
1606
3.95k
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::error() &
Line
Count
Source
1603
456
    {
1604
456
        SCN_EXPECT(!has_value());
1605
456
        return this->get_unexpected().error();
1606
456
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::error() &
Line
Count
Source
1603
2.04M
    {
1604
2.04M
        SCN_EXPECT(!has_value());
1605
2.04M
        return this->get_unexpected().error();
1606
2.04M
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::error() &
scn::v3::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::error() &
Line
Count
Source
1603
46.0k
    {
1604
46.0k
        SCN_EXPECT(!has_value());
1605
46.0k
        return this->get_unexpected().error();
1606
46.0k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::error() &
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error>::error() &
Line
Count
Source
1603
134
    {
1604
134
        SCN_EXPECT(!has_value());
1605
134
        return this->get_unexpected().error();
1606
134
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>::error() &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>::error() &
1607
    constexpr const error_type& error() const& noexcept
1608
0
    {
1609
0
        SCN_EXPECT(!has_value());
1610
0
        return this->get_unexpected().error();
1611
0
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<char const*, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<char const*, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>::error() const &
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>::error() const &
1612
    constexpr error_type&& error() && noexcept
1613
764k
    {
1614
764k
        SCN_EXPECT(!has_value());
1615
764k
        return std::move(this->get_unexpected().error());
1616
764k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::error() &&
Line
Count
Source
1613
137k
    {
1614
137k
        SCN_EXPECT(!has_value());
1615
137k
        return std::move(this->get_unexpected().error());
1616
137k
    }
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::error() &&
Line
Count
Source
1613
92.6k
    {
1614
92.6k
        SCN_EXPECT(!has_value());
1615
92.6k
        return std::move(this->get_unexpected().error());
1616
92.6k
    }
scn::v3::expected<char const*, scn::v3::impl::eof_error>::error() &&
Line
Count
Source
1613
54.6k
    {
1614
54.6k
        SCN_EXPECT(!has_value());
1615
54.6k
        return std::move(this->get_unexpected().error());
1616
54.6k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::error() &&
scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::error() &&
Line
Count
Source
1613
80.8k
    {
1614
80.8k
        SCN_EXPECT(!has_value());
1615
80.8k
        return std::move(this->get_unexpected().error());
1616
80.8k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>::error() &&
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::error() &&
Line
Count
Source
1613
350
    {
1614
350
        SCN_EXPECT(!has_value());
1615
350
        return std::move(this->get_unexpected().error());
1616
350
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::error() &&
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::error() &&
Line
Count
Source
1613
1.51k
    {
1614
1.51k
        SCN_EXPECT(!has_value());
1615
1.51k
        return std::move(this->get_unexpected().error());
1616
1.51k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::error() &&
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::error() &&
scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::error() &&
Line
Count
Source
1613
300k
    {
1614
300k
        SCN_EXPECT(!has_value());
1615
300k
        return std::move(this->get_unexpected().error());
1616
300k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>::error() &&
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::error() &&
Line
Count
Source
1613
172
    {
1614
172
        SCN_EXPECT(!has_value());
1615
172
        return std::move(this->get_unexpected().error());
1616
172
    }
scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::error() &&
Line
Count
Source
1613
95.4k
    {
1614
95.4k
        SCN_EXPECT(!has_value());
1615
95.4k
        return std::move(this->get_unexpected().error());
1616
95.4k
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::error() &&
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::error() &&
Line
Count
Source
1613
718
    {
1614
718
        SCN_EXPECT(!has_value());
1615
718
        return std::move(this->get_unexpected().error());
1616
718
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
Unexecuted instantiation: scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::error() &&
scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>::error() &&
Line
Count
Source
1613
134
    {
1614
134
        SCN_EXPECT(!has_value());
1615
134
        return std::move(this->get_unexpected().error());
1616
134
    }
Unexecuted instantiation: scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>::error() &&
1617
    constexpr const error_type&& error() const&& noexcept
1618
    {
1619
        SCN_EXPECT(!has_value());
1620
        return std::move(this->get_unexpected().error());
1621
    }
1622
1623
    /// Get the expected value, if one is contained in *this
1624
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1625
    constexpr U& value() & noexcept
1626
224M
    {
1627
224M
        SCN_EXPECT(has_value());
1628
224M
        return this->get_value();
1629
224M
    }
long& scn::v3::expected<long, scn::v3::scan_error>::value<long, (void*)0>() &
Line
Count
Source
1626
32.1M
    {
1627
32.1M
        SCN_EXPECT(has_value());
1628
32.1M
        return this->get_value();
1629
32.1M
    }
scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::value<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, (void*)0>() &
Line
Count
Source
1626
5.19M
    {
1627
5.19M
        SCN_EXPECT(has_value());
1628
5.19M
        return this->get_value();
1629
5.19M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, (void*)0>() &
Line
Count
Source
1626
296k
    {
1627
296k
        SCN_EXPECT(has_value());
1628
296k
        return this->get_value();
1629
296k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, (void*)0>() &
Line
Count
Source
1626
283k
    {
1627
283k
        SCN_EXPECT(has_value());
1628
283k
        return this->get_value();
1629
283k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, (void*)0>() &
Line
Count
Source
1626
382k
    {
1627
382k
        SCN_EXPECT(has_value());
1628
382k
        return this->get_value();
1629
382k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, (void*)0>() &
Line
Count
Source
1626
324k
    {
1627
324k
        SCN_EXPECT(has_value());
1628
324k
        return this->get_value();
1629
324k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, (void*)0>() &
Line
Count
Source
1626
390k
    {
1627
390k
        SCN_EXPECT(has_value());
1628
390k
        return this->get_value();
1629
390k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, (void*)0>() &
Line
Count
Source
1626
328k
    {
1627
328k
        SCN_EXPECT(has_value());
1628
328k
        return this->get_value();
1629
328k
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::value<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, (void*)0>() &
Line
Count
Source
1626
5.22M
    {
1627
5.22M
        SCN_EXPECT(has_value());
1628
5.22M
        return this->get_value();
1629
5.22M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, (void*)0>() &
Line
Count
Source
1626
297k
    {
1627
297k
        SCN_EXPECT(has_value());
1628
297k
        return this->get_value();
1629
297k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, (void*)0>() &
Line
Count
Source
1626
284k
    {
1627
284k
        SCN_EXPECT(has_value());
1628
284k
        return this->get_value();
1629
284k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, (void*)0>() &
Line
Count
Source
1626
383k
    {
1627
383k
        SCN_EXPECT(has_value());
1628
383k
        return this->get_value();
1629
383k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, (void*)0>() &
Line
Count
Source
1626
326k
    {
1627
326k
        SCN_EXPECT(has_value());
1628
326k
        return this->get_value();
1629
326k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, (void*)0>() &
Line
Count
Source
1626
390k
    {
1627
390k
        SCN_EXPECT(has_value());
1628
390k
        return this->get_value();
1629
390k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, (void*)0>() &
Line
Count
Source
1626
330k
    {
1627
330k
        SCN_EXPECT(has_value());
1628
330k
        return this->get_value();
1629
330k
    }
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::value<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, (void*)0>() &
Line
Count
Source
1626
1.90M
    {
1627
1.90M
        SCN_EXPECT(has_value());
1628
1.90M
        return this->get_value();
1629
1.90M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, (void*)0>() &
Line
Count
Source
1626
595
    {
1627
595
        SCN_EXPECT(has_value());
1628
595
        return this->get_value();
1629
595
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, (void*)0>() &
Line
Count
Source
1626
500
    {
1627
500
        SCN_EXPECT(has_value());
1628
500
        return this->get_value();
1629
500
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, (void*)0>() &
Line
Count
Source
1626
711
    {
1627
711
        SCN_EXPECT(has_value());
1628
711
        return this->get_value();
1629
711
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, (void*)0>() &
Line
Count
Source
1626
564
    {
1627
564
        SCN_EXPECT(has_value());
1628
564
        return this->get_value();
1629
564
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, (void*)0>() &
Line
Count
Source
1626
864
    {
1627
864
        SCN_EXPECT(has_value());
1628
864
        return this->get_value();
1629
864
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, (void*)0>() &
Line
Count
Source
1626
694
    {
1627
694
        SCN_EXPECT(has_value());
1628
694
        return this->get_value();
1629
694
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::value<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, (void*)0>() &
Line
Count
Source
1626
1.03M
    {
1627
1.03M
        SCN_EXPECT(has_value());
1628
1.03M
        return this->get_value();
1629
1.03M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, (void*)0>() &
Line
Count
Source
1626
595
    {
1627
595
        SCN_EXPECT(has_value());
1628
595
        return this->get_value();
1629
595
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, (void*)0>() &
Line
Count
Source
1626
500
    {
1627
500
        SCN_EXPECT(has_value());
1628
500
        return this->get_value();
1629
500
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, (void*)0>() &
Line
Count
Source
1626
711
    {
1627
711
        SCN_EXPECT(has_value());
1628
711
        return this->get_value();
1629
711
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, (void*)0>() &
Line
Count
Source
1626
564
    {
1627
564
        SCN_EXPECT(has_value());
1628
564
        return this->get_value();
1629
564
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, (void*)0>() &
Line
Count
Source
1626
864
    {
1627
864
        SCN_EXPECT(has_value());
1628
864
        return this->get_value();
1629
864
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, (void*)0>() &
Line
Count
Source
1626
694
    {
1627
694
        SCN_EXPECT(has_value());
1628
694
        return this->get_value();
1629
694
    }
std::__1::regex_constants::syntax_option_type& scn::v3::expected<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error>::value<std::__1::regex_constants::syntax_option_type, (void*)0>() &
Line
Count
Source
1626
68.5k
    {
1627
68.5k
        SCN_EXPECT(has_value());
1628
68.5k
        return this->get_value();
1629
68.5k
    }
Unexecuted instantiation: wchar_t& scn::v3::expected<wchar_t, scn::v3::scan_error>::value<wchar_t, (void*)0>() &
scn::v3::detail::basic_scan_buffer<char>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::value<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &
Line
Count
Source
1626
18.0M
    {
1627
18.0M
        SCN_EXPECT(has_value());
1628
18.0M
        return this->get_value();
1629
18.0M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::value<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &
Line
Count
Source
1626
3.16M
    {
1627
3.16M
        SCN_EXPECT(has_value());
1628
3.16M
        return this->get_value();
1629
3.16M
    }
char const*& scn::v3::expected<char const*, scn::v3::scan_error>::value<char const*, (void*)0>() &
Line
Count
Source
1626
25.5M
    {
1627
25.5M
        SCN_EXPECT(has_value());
1628
25.5M
        return this->get_value();
1629
25.5M
    }
wchar_t const*& scn::v3::expected<wchar_t const*, scn::v3::scan_error>::value<wchar_t const*, (void*)0>() &
Line
Count
Source
1626
5.99M
    {
1627
5.99M
        SCN_EXPECT(has_value());
1628
5.99M
        return this->get_value();
1629
5.99M
    }
char const*& scn::v3::expected<char const*, scn::v3::impl::eof_error>::value<char const*, (void*)0>() &
Line
Count
Source
1626
7.07M
    {
1627
7.07M
        SCN_EXPECT(has_value());
1628
7.07M
        return this->get_value();
1629
7.07M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, (void*)0>() &
std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, (void*)0>() &
Line
Count
Source
1626
7.82M
    {
1627
7.82M
        SCN_EXPECT(has_value());
1628
7.82M
        return this->get_value();
1629
7.82M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
scn::v3::detail::basic_scan_buffer<char>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::value<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &
Line
Count
Source
1626
21.7M
    {
1627
21.7M
        SCN_EXPECT(has_value());
1628
21.7M
        return this->get_value();
1629
21.7M
    }
std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1626
5.63M
    {
1627
5.63M
        SCN_EXPECT(has_value());
1628
5.63M
        return this->get_value();
1629
5.63M
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>() &
Line
Count
Source
1626
2.16M
    {
1627
2.16M
        SCN_EXPECT(has_value());
1628
2.16M
        return this->get_value();
1629
2.16M
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>() &
Line
Count
Source
1626
2.16M
    {
1627
2.16M
        SCN_EXPECT(has_value());
1628
2.16M
        return this->get_value();
1629
2.16M
    }
std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Line
Count
Source
1626
311k
    {
1627
311k
        SCN_EXPECT(has_value());
1628
311k
        return this->get_value();
1629
311k
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::value<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &
Line
Count
Source
1626
19.2M
    {
1627
19.2M
        SCN_EXPECT(has_value());
1628
19.2M
        return this->get_value();
1629
19.2M
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &
Line
Count
Source
1626
6.21k
    {
1627
6.21k
        SCN_EXPECT(has_value());
1628
6.21k
        return this->get_value();
1629
6.21k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, (void*)0>() &
std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, (void*)0>() &
Line
Count
Source
1626
9.16k
    {
1627
9.16k
        SCN_EXPECT(has_value());
1628
9.16k
        return this->get_value();
1629
9.16k
    }
std::__1::pair<char const*, long>& scn::v3::expected<std::__1::pair<char const*, long>, scn::v3::scan_error>::value<std::__1::pair<char const*, long>, (void*)0>() &
Line
Count
Source
1626
7.62M
    {
1627
7.62M
        SCN_EXPECT(has_value());
1628
7.62M
        return this->get_value();
1629
7.62M
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &
Line
Count
Source
1626
2.84k
    {
1627
2.84k
        SCN_EXPECT(has_value());
1628
2.84k
        return this->get_value();
1629
2.84k
    }
std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1626
2.03k
    {
1627
2.03k
        SCN_EXPECT(has_value());
1628
2.03k
        return this->get_value();
1629
2.03k
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>() &
Line
Count
Source
1626
1.52k
    {
1627
1.52k
        SCN_EXPECT(has_value());
1628
1.52k
        return this->get_value();
1629
1.52k
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>() &
Line
Count
Source
1626
1.52k
    {
1627
1.52k
        SCN_EXPECT(has_value());
1628
1.52k
        return this->get_value();
1629
1.52k
    }
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &
Line
Count
Source
1626
6.29k
    {
1627
6.29k
        SCN_EXPECT(has_value());
1628
6.29k
        return this->get_value();
1629
6.29k
    }
char const*& scn::v3::expected<char const*, scn::v3::impl::parse_error>::value<char const*, (void*)0>() &
Line
Count
Source
1626
3.99M
    {
1627
3.99M
        SCN_EXPECT(has_value());
1628
3.99M
        return this->get_value();
1629
3.99M
    }
std::__1::pair<char const*, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<char const*, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1626
5.26M
    {
1627
5.26M
        SCN_EXPECT(has_value());
1628
5.26M
        return this->get_value();
1629
5.26M
    }
scn::v3::impl::parse_integer_prefix_result<char const*>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<char const*>, (void*)0>() &
Line
Count
Source
1626
2.16M
    {
1627
2.16M
        SCN_EXPECT(has_value());
1628
2.16M
        return this->get_value();
1629
2.16M
    }
scn::v3::impl::parse_integer_prefix_result<char const*>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::value<scn::v3::impl::parse_integer_prefix_result<char const*>, (void*)0>() &
Line
Count
Source
1626
2.16M
    {
1627
2.16M
        SCN_EXPECT(has_value());
1628
2.16M
        return this->get_value();
1629
2.16M
    }
std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Line
Count
Source
1626
309k
    {
1627
309k
        SCN_EXPECT(has_value());
1628
309k
        return this->get_value();
1629
309k
    }
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &
std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1626
3.17M
    {
1627
3.17M
        SCN_EXPECT(has_value());
1628
3.17M
        return this->get_value();
1629
3.17M
    }
std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1626
508
    {
1627
508
        SCN_EXPECT(has_value());
1628
508
        return this->get_value();
1629
508
    }
std::__1::pair<char const*, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::value<std::__1::pair<char const*, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1626
3.01M
    {
1627
3.01M
        SCN_EXPECT(has_value());
1628
3.01M
        return this->get_value();
1629
3.01M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, (void*)0>() &
std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, (void*)0>() &
Line
Count
Source
1626
1.46M
    {
1627
1.46M
        SCN_EXPECT(has_value());
1628
1.46M
        return this->get_value();
1629
1.46M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::value<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &
Line
Count
Source
1626
1.79M
    {
1627
1.79M
        SCN_EXPECT(has_value());
1628
1.79M
        return this->get_value();
1629
1.79M
    }
std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1626
842k
    {
1627
842k
        SCN_EXPECT(has_value());
1628
842k
        return this->get_value();
1629
842k
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>() &
Line
Count
Source
1626
351k
    {
1627
351k
        SCN_EXPECT(has_value());
1628
351k
        return this->get_value();
1629
351k
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>() &
Line
Count
Source
1626
351k
    {
1627
351k
        SCN_EXPECT(has_value());
1628
351k
        return this->get_value();
1629
351k
    }
std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Line
Count
Source
1626
724
    {
1627
724
        SCN_EXPECT(has_value());
1628
724
        return this->get_value();
1629
724
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::value<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &
Line
Count
Source
1626
3.38M
    {
1627
3.38M
        SCN_EXPECT(has_value());
1628
3.38M
        return this->get_value();
1629
3.38M
    }
wchar_t const*& scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::value<wchar_t const*, (void*)0>() &
Line
Count
Source
1626
4.05M
    {
1627
4.05M
        SCN_EXPECT(has_value());
1628
4.05M
        return this->get_value();
1629
4.05M
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &
Line
Count
Source
1626
1.82k
    {
1627
1.82k
        SCN_EXPECT(has_value());
1628
1.82k
        return this->get_value();
1629
1.82k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, (void*)0>() &
std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, (void*)0>() &
Line
Count
Source
1626
2.52k
    {
1627
2.52k
        SCN_EXPECT(has_value());
1628
2.52k
        return this->get_value();
1629
2.52k
    }
std::__1::pair<wchar_t const*, long>& scn::v3::expected<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error>::value<std::__1::pair<wchar_t const*, long>, (void*)0>() &
Line
Count
Source
1626
2.20M
    {
1627
2.20M
        SCN_EXPECT(has_value());
1628
2.20M
        return this->get_value();
1629
2.20M
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &
Line
Count
Source
1626
1.44k
    {
1627
1.44k
        SCN_EXPECT(has_value());
1628
1.44k
        return this->get_value();
1629
1.44k
    }
std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1626
1.03k
    {
1627
1.03k
        SCN_EXPECT(has_value());
1628
1.03k
        return this->get_value();
1629
1.03k
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>() &
Line
Count
Source
1626
770
    {
1627
770
        SCN_EXPECT(has_value());
1628
770
        return this->get_value();
1629
770
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>() &
Line
Count
Source
1626
770
    {
1627
770
        SCN_EXPECT(has_value());
1628
770
        return this->get_value();
1629
770
    }
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &
Line
Count
Source
1626
976
    {
1627
976
        SCN_EXPECT(has_value());
1628
976
        return this->get_value();
1629
976
    }
wchar_t const*& scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::value<wchar_t const*, (void*)0>() &
Line
Count
Source
1626
1.58M
    {
1627
1.58M
        SCN_EXPECT(has_value());
1628
1.58M
        return this->get_value();
1629
1.58M
    }
std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1626
843k
    {
1627
843k
        SCN_EXPECT(has_value());
1628
843k
        return this->get_value();
1629
843k
    }
scn::v3::impl::parse_integer_prefix_result<wchar_t const*>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, (void*)0>() &
Line
Count
Source
1626
355k
    {
1627
355k
        SCN_EXPECT(has_value());
1628
355k
        return this->get_value();
1629
355k
    }
scn::v3::impl::parse_integer_prefix_result<wchar_t const*>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::value<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, (void*)0>() &
Line
Count
Source
1626
355k
    {
1627
355k
        SCN_EXPECT(has_value());
1628
355k
        return this->get_value();
1629
355k
    }
std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Line
Count
Source
1626
724
    {
1627
724
        SCN_EXPECT(has_value());
1628
724
        return this->get_value();
1629
724
    }
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &
std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1626
484k
    {
1627
484k
        SCN_EXPECT(has_value());
1628
484k
        return this->get_value();
1629
484k
    }
std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1626
264
    {
1627
264
        SCN_EXPECT(has_value());
1628
264
        return this->get_value();
1629
264
    }
std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::value<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, (void*)0>() &
Line
Count
Source
1626
486k
    {
1627
486k
        SCN_EXPECT(has_value());
1628
486k
        return this->get_value();
1629
486k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, (void*)0>() &
Line
Count
Source
1626
3.79k
    {
1627
3.79k
        SCN_EXPECT(has_value());
1628
3.79k
        return this->get_value();
1629
3.79k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, (void*)0>() &
Line
Count
Source
1626
3.62k
    {
1627
3.62k
        SCN_EXPECT(has_value());
1628
3.62k
        return this->get_value();
1629
3.62k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, (void*)0>() &
Line
Count
Source
1626
1.62k
    {
1627
1.62k
        SCN_EXPECT(has_value());
1628
1.62k
        return this->get_value();
1629
1.62k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, (void*)0>() &
Line
Count
Source
1626
1.62k
    {
1627
1.62k
        SCN_EXPECT(has_value());
1628
1.62k
        return this->get_value();
1629
1.62k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, (void*)0>() &
Line
Count
Source
1626
904k
    {
1627
904k
        SCN_EXPECT(has_value());
1628
904k
        return this->get_value();
1629
904k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, (void*)0>() &
Line
Count
Source
1626
981k
    {
1627
981k
        SCN_EXPECT(has_value());
1628
981k
        return this->get_value();
1629
981k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, (void*)0>() &
Line
Count
Source
1626
994k
    {
1627
994k
        SCN_EXPECT(has_value());
1628
994k
        return this->get_value();
1629
994k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, (void*)0>() &
Line
Count
Source
1626
956k
    {
1627
956k
        SCN_EXPECT(has_value());
1628
956k
        return this->get_value();
1629
956k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, (void*)0>() &
Line
Count
Source
1626
1.03M
    {
1627
1.03M
        SCN_EXPECT(has_value());
1628
1.03M
        return this->get_value();
1629
1.03M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, (void*)0>() &
Line
Count
Source
1626
1.04M
    {
1627
1.04M
        SCN_EXPECT(has_value());
1628
1.04M
        return this->get_value();
1629
1.04M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, (void*)0>() &
Line
Count
Source
1626
53.1k
    {
1627
53.1k
        SCN_EXPECT(has_value());
1628
53.1k
        return this->get_value();
1629
53.1k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, (void*)0>() &
Line
Count
Source
1626
53.7k
    {
1627
53.7k
        SCN_EXPECT(has_value());
1628
53.7k
        return this->get_value();
1629
53.7k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, (void*)0>() &
Line
Count
Source
1626
54.5k
    {
1627
54.5k
        SCN_EXPECT(has_value());
1628
54.5k
        return this->get_value();
1629
54.5k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, (void*)0>() &
Line
Count
Source
1626
53.0k
    {
1627
53.0k
        SCN_EXPECT(has_value());
1628
53.0k
        return this->get_value();
1629
53.0k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, (void*)0>() &
Line
Count
Source
1626
53.5k
    {
1627
53.5k
        SCN_EXPECT(has_value());
1628
53.5k
        return this->get_value();
1629
53.5k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, (void*)0>() &
Line
Count
Source
1626
54.4k
    {
1627
54.4k
        SCN_EXPECT(has_value());
1628
54.4k
        return this->get_value();
1629
54.4k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Line
Count
Source
1626
150k
    {
1627
150k
        SCN_EXPECT(has_value());
1628
150k
        return this->get_value();
1629
150k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, (void*)0>() &
Line
Count
Source
1626
150k
    {
1627
150k
        SCN_EXPECT(has_value());
1628
150k
        return this->get_value();
1629
150k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &
Line
Count
Source
1626
167k
    {
1627
167k
        SCN_EXPECT(has_value());
1628
167k
        return this->get_value();
1629
167k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, (void*)0>() &
Line
Count
Source
1626
868k
    {
1627
868k
        SCN_EXPECT(has_value());
1628
868k
        return this->get_value();
1629
868k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, (void*)0>() &
Line
Count
Source
1626
868k
    {
1627
868k
        SCN_EXPECT(has_value());
1628
868k
        return this->get_value();
1629
868k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >& scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::value<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, (void*)0>() &
Line
Count
Source
1626
868k
    {
1627
868k
        SCN_EXPECT(has_value());
1628
868k
        return this->get_value();
1629
868k
    }
1630
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1631
    constexpr const U& value() const& noexcept
1632
0
    {
1633
0
        SCN_EXPECT(has_value());
1634
0
        return this->get_value();
1635
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::value<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() const &
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::value<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() const &
Unexecuted instantiation: char const* const& scn::v3::expected<char const*, scn::v3::impl::eof_error>::value<char const*, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>() const &
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::value<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<char const*> const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<char const*>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<char const*, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<char const*, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: char const* const& scn::v3::expected<char const*, scn::v3::impl::parse_error>::value<char const*, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>() const &
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::value<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() const &
Unexecuted instantiation: wchar_t const* const& scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::value<wchar_t const*, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<wchar_t const*> const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::value<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<wchar_t const*, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::value<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: wchar_t const* const& scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::value<wchar_t const*, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>::value<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, (void*)0>() const &
1636
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1637
    constexpr U&& value() && noexcept
1638
    {
1639
        SCN_EXPECT(has_value());
1640
        return std::move(this->get_value());
1641
    }
1642
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1643
    constexpr const U&& value() const&& noexcept
1644
    {
1645
        SCN_EXPECT(has_value());
1646
        return std::move(this->get_value());
1647
    }
1648
1649
    /// Get the expected value, if one is contained in *this
1650
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1651
    constexpr U& operator*() & noexcept
1652
58.5M
    {
1653
58.5M
        return value();
1654
58.5M
    }
long& scn::v3::expected<long, scn::v3::scan_error>::operator*<long, (void*)0>() &
Line
Count
Source
1652
19.6M
    {
1653
19.6M
        return value();
1654
19.6M
    }
scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::operator*<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, (void*)0>() &
Line
Count
Source
1652
4.68M
    {
1653
4.68M
        return value();
1654
4.68M
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::operator*<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, (void*)0>() &
Line
Count
Source
1652
4.75M
    {
1653
4.75M
        return value();
1654
4.75M
    }
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::operator*<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, (void*)0>() &
Line
Count
Source
1652
1.54M
    {
1653
1.54M
        return value();
1654
1.54M
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::operator*<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, (void*)0>() &
Line
Count
Source
1652
844k
    {
1653
844k
        return value();
1654
844k
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::operator*<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &
Line
Count
Source
1652
2.15M
    {
1653
2.15M
        return value();
1654
2.15M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
scn::v3::detail::basic_scan_buffer<char>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::operator*<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &
Line
Count
Source
1652
9.81M
    {
1653
9.81M
        return value();
1654
9.81M
    }
char const*& scn::v3::expected<char const*, scn::v3::impl::eof_error>::operator*<char const*, (void*)0>() &
Line
Count
Source
1652
1.58M
    {
1653
1.58M
        return value();
1654
1.58M
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &
Line
Count
Source
1652
1.79k
    {
1653
1.79k
        return value();
1654
1.79k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &
char const*& scn::v3::expected<char const*, scn::v3::impl::parse_error>::operator*<char const*, (void*)0>() &
Line
Count
Source
1652
3.99M
    {
1653
3.99M
        return value();
1654
3.99M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
scn::v3::detail::basic_scan_buffer<char>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::operator*<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &
Line
Count
Source
1652
3.92M
    {
1653
3.92M
        return value();
1654
3.92M
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &
Line
Count
Source
1652
2.06k
    {
1653
2.06k
        return value();
1654
2.06k
    }
char const*& scn::v3::expected<char const*, scn::v3::scan_error>::operator*<char const*, (void*)0>() &
Line
Count
Source
1652
3.80M
    {
1653
3.80M
        return value();
1654
3.80M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::operator*<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &
Line
Count
Source
1652
10.7k
    {
1653
10.7k
        return value();
1654
10.7k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::operator*<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &
Line
Count
Source
1652
347k
    {
1653
347k
        return value();
1654
347k
    }
wchar_t const*& scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::operator*<wchar_t const*, (void*)0>() &
Line
Count
Source
1652
6.06k
    {
1653
6.06k
        return value();
1654
6.06k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &
wchar_t const*& scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::operator*<wchar_t const*, (void*)0>() &
Line
Count
Source
1652
132k
    {
1653
132k
        return value();
1654
132k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::operator*<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &
Line
Count
Source
1652
467k
    {
1653
467k
        return value();
1654
467k
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &
wchar_t const*& scn::v3::expected<wchar_t const*, scn::v3::scan_error>::operator*<wchar_t const*, (void*)0>() &
Line
Count
Source
1652
821k
    {
1653
821k
        return value();
1654
821k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, (void*)0>() &
Line
Count
Source
1652
170
    {
1653
170
        return value();
1654
170
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<char const*>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<char const*>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<char const*, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<char const*, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>() &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<wchar_t const*>& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, (void*)0>() &
Unexecuted instantiation: std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>& scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, (void*)0>() &
1655
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1656
    constexpr const U& operator*() const& noexcept
1657
0
    {
1658
0
        return value();
1659
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::operator*<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() const &
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::operator*<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() const &
Unexecuted instantiation: char const* const& scn::v3::expected<char const*, scn::v3::impl::eof_error>::operator*<char const*, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator> const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>() const &
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::forward_iterator const& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::operator*<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> > const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<char const*> const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<char const*>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<char const*, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<char const*, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: char const* const& scn::v3::expected<char const*, scn::v3::impl::parse_error>::operator*<char const*, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator> const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>() const &
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::operator*<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() const &
Unexecuted instantiation: wchar_t const* const& scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::operator*<wchar_t const*, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> > const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<wchar_t const*> const& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: std::__1::pair<wchar_t const*, scn::v3::impl::sign_type> const& scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, (void*)0>() const &
Unexecuted instantiation: wchar_t const* const& scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::operator*<wchar_t const*, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, (void*)0>() const &
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > const& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, (void*)0>() const &
1660
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1661
    constexpr U&& operator*() && noexcept
1662
151M
    {
1663
151M
        return std::move(value());
1664
151M
    }
scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, scn::v3::scan_error>::operator*<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, (void*)0>() &&
Line
Count
Source
1662
502k
    {
1663
502k
        return std::move(value());
1664
502k
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, scn::v3::scan_error>::operator*<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, (void*)0>() &&
Line
Count
Source
1662
468k
    {
1663
468k
        return std::move(value());
1664
468k
    }
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::operator*<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, (void*)0>() &&
Line
Count
Source
1662
362k
    {
1663
362k
        return std::move(value());
1664
362k
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&& scn::v3::expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, scn::v3::scan_error>::operator*<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, (void*)0>() &&
Line
Count
Source
1662
188k
    {
1663
188k
        return std::move(value());
1664
188k
    }
std::__1::regex_constants::syntax_option_type&& scn::v3::expected<std::__1::regex_constants::syntax_option_type, scn::v3::scan_error>::operator*<std::__1::regex_constants::syntax_option_type, (void*)0>() &&
Line
Count
Source
1662
68.5k
    {
1663
68.5k
        return std::move(value());
1664
68.5k
    }
Unexecuted instantiation: wchar_t&& scn::v3::expected<wchar_t, scn::v3::scan_error>::operator*<wchar_t, (void*)0>() &&
scn::v3::detail::basic_scan_buffer<char>::forward_iterator&& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::eof_error>::operator*<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &&
Line
Count
Source
1662
15.8M
    {
1663
15.8M
        return std::move(value());
1664
15.8M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::eof_error>::operator*<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &&
Line
Count
Source
1662
3.15M
    {
1663
3.15M
        return std::move(value());
1664
3.15M
    }
char const*&& scn::v3::expected<char const*, scn::v3::scan_error>::operator*<char const*, (void*)0>() &&
Line
Count
Source
1662
21.7M
    {
1663
21.7M
        return std::move(value());
1664
21.7M
    }
wchar_t const*&& scn::v3::expected<wchar_t const*, scn::v3::scan_error>::operator*<wchar_t const*, (void*)0>() &&
Line
Count
Source
1662
5.17M
    {
1663
5.17M
        return std::move(value());
1664
5.17M
    }
char const*&& scn::v3::expected<char const*, scn::v3::impl::eof_error>::operator*<char const*, (void*)0>() &&
Line
Count
Source
1662
5.49M
    {
1663
5.49M
        return std::move(value());
1664
5.49M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &&
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, (void*)0>() &&
std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>&& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, long>, (void*)0>() &&
Line
Count
Source
1662
7.82M
    {
1663
7.82M
        return std::move(value());
1664
7.82M
    }
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &&
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&& scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator*<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &&
std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1662
5.33M
    {
1663
5.33M
        return std::move(value());
1664
5.33M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator&& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::parse_error>::operator*<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &&
Line
Count
Source
1662
11.9M
    {
1663
11.9M
        return std::move(value());
1664
11.9M
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>() &&
Line
Count
Source
1662
2.16M
    {
1663
2.16M
        return std::move(value());
1664
2.16M
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::scan_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, (void*)0>() &&
Line
Count
Source
1662
2.16M
    {
1663
2.16M
        return std::move(value());
1664
2.16M
    }
std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&& scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator*<std::__1::tuple<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &&
Line
Count
Source
1662
311k
    {
1663
311k
        return std::move(value());
1664
311k
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator&& scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>::operator*<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>() &&
Line
Count
Source
1662
15.3M
    {
1663
15.3M
        return std::move(value());
1664
15.3M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, (void*)0>() &&
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &&
Line
Count
Source
1662
4.42k
    {
1663
4.42k
        return std::move(value());
1664
4.42k
    }
std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, long>, (void*)0>() &&
Line
Count
Source
1662
9.16k
    {
1663
9.16k
        return std::move(value());
1664
9.16k
    }
std::__1::pair<char const*, long>&& scn::v3::expected<std::__1::pair<char const*, long>, scn::v3::scan_error>::operator*<std::__1::pair<char const*, long>, (void*)0>() &&
Line
Count
Source
1662
7.62M
    {
1663
7.62M
        return std::move(value());
1664
7.62M
    }
std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1662
2.03k
    {
1663
2.03k
        return std::move(value());
1664
2.03k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &&
Line
Count
Source
1662
2.84k
    {
1663
2.84k
        return std::move(value());
1664
2.84k
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>() &&
Line
Count
Source
1662
1.52k
    {
1663
1.52k
        return std::move(value());
1664
1.52k
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::scan_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, (void*)0>() &&
Line
Count
Source
1662
1.52k
    {
1663
1.52k
        return std::move(value());
1664
1.52k
    }
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&& scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator*<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &&
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>() &&
Line
Count
Source
1662
4.23k
    {
1663
4.23k
        return std::move(value());
1664
4.23k
    }
std::__1::pair<char const*, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<char const*, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1662
5.17M
    {
1663
5.17M
        return std::move(value());
1664
5.17M
    }
scn::v3::impl::parse_integer_prefix_result<char const*>&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<char const*>, (void*)0>() &&
Line
Count
Source
1662
2.16M
    {
1663
2.16M
        return std::move(value());
1664
2.16M
    }
scn::v3::impl::parse_integer_prefix_result<char const*>&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<char const*>, scn::v3::scan_error>::operator*<scn::v3::impl::parse_integer_prefix_result<char const*>, (void*)0>() &&
Line
Count
Source
1662
2.16M
    {
1663
2.16M
        return std::move(value());
1664
2.16M
    }
std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&& scn::v3::expected<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator*<std::__1::tuple<char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &&
Line
Count
Source
1662
309k
    {
1663
309k
        return std::move(value());
1664
309k
    }
long&& scn::v3::expected<long, scn::v3::scan_error>::operator*<long, (void*)0>() &&
Line
Count
Source
1662
12.4M
    {
1663
12.4M
        return std::move(value());
1664
12.4M
    }
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &&
std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1662
3.17M
    {
1663
3.17M
        return std::move(value());
1664
3.17M
    }
std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1662
508
    {
1663
508
        return std::move(value());
1664
508
    }
std::__1::pair<char const*, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator*<std::__1::pair<char const*, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1662
3.01M
    {
1663
3.01M
        return std::move(value());
1664
3.01M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &&
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, long>, (void*)0>() &&
std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>&& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, long>, (void*)0>() &&
Line
Count
Source
1662
1.46M
    {
1663
1.46M
        return std::move(value());
1664
1.46M
    }
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::scan_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, (void*)0>() &&
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&& scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator*<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>() &&
std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1662
836k
    {
1663
836k
        return std::move(value());
1664
836k
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::parse_error>::operator*<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &&
Line
Count
Source
1662
1.44M
    {
1663
1.44M
        return std::move(value());
1664
1.44M
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>() &&
Line
Count
Source
1662
351k
    {
1663
351k
        return std::move(value());
1664
351k
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::scan_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, (void*)0>() &&
Line
Count
Source
1662
351k
    {
1663
351k
        return std::move(value());
1664
351k
    }
std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&& scn::v3::expected<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator*<std::__1::tuple<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &&
Line
Count
Source
1662
724
    {
1663
724
        return std::move(value());
1664
724
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator&& scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>::operator*<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>() &&
Line
Count
Source
1662
2.91M
    {
1663
2.91M
        return std::move(value());
1664
2.91M
    }
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, (void*)0>() &&
Unexecuted instantiation: scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, (void*)0>() &&
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &&
Line
Count
Source
1662
1.82k
    {
1663
1.82k
        return std::move(value());
1664
1.82k
    }
std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, long>, (void*)0>() &&
Line
Count
Source
1662
2.52k
    {
1663
2.52k
        return std::move(value());
1664
2.52k
    }
wchar_t const*&& scn::v3::expected<wchar_t const*, scn::v3::impl::eof_error>::operator*<wchar_t const*, (void*)0>() &&
Line
Count
Source
1662
4.05M
    {
1663
4.05M
        return std::move(value());
1664
4.05M
    }
std::__1::pair<wchar_t const*, long>&& scn::v3::expected<std::__1::pair<wchar_t const*, long>, scn::v3::scan_error>::operator*<std::__1::pair<wchar_t const*, long>, (void*)0>() &&
Line
Count
Source
1662
2.20M
    {
1663
2.20M
        return std::move(value());
1664
2.20M
    }
std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1662
1.03k
    {
1663
1.03k
        return std::move(value());
1664
1.03k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::parse_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &&
Line
Count
Source
1662
1.44k
    {
1663
1.44k
        return std::move(value());
1664
1.44k
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>() &&
Line
Count
Source
1662
770
    {
1663
770
        return std::move(value());
1664
770
    }
scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::scan_error>::operator*<scn::v3::impl::parse_integer_prefix_result<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, (void*)0>() &&
Line
Count
Source
1662
770
    {
1663
770
        return std::move(value());
1664
770
    }
Unexecuted instantiation: std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&& scn::v3::expected<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator*<std::__1::tuple<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &&
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>() &&
Line
Count
Source
1662
976
    {
1663
976
        return std::move(value());
1664
976
    }
std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator*<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1662
841k
    {
1663
841k
        return std::move(value());
1664
841k
    }
wchar_t const*&& scn::v3::expected<wchar_t const*, scn::v3::impl::parse_error>::operator*<wchar_t const*, (void*)0>() &&
Line
Count
Source
1662
1.45M
    {
1663
1.45M
        return std::move(value());
1664
1.45M
    }
scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::impl::eof_error>::operator*<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, (void*)0>() &&
Line
Count
Source
1662
355k
    {
1663
355k
        return std::move(value());
1664
355k
    }
scn::v3::impl::parse_integer_prefix_result<wchar_t const*>&& scn::v3::expected<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, scn::v3::scan_error>::operator*<scn::v3::impl::parse_integer_prefix_result<wchar_t const*>, (void*)0>() &&
Line
Count
Source
1662
355k
    {
1663
355k
        return std::move(value());
1664
355k
    }
std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&& scn::v3::expected<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator*<std::__1::tuple<wchar_t const*, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, (void*)0>() &&
Line
Count
Source
1662
724
    {
1663
724
        return std::move(value());
1664
724
    }
Unexecuted instantiation: std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, (void*)0>() &&
std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1662
484k
    {
1663
484k
        return std::move(value());
1664
484k
    }
std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator*<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1662
264
    {
1663
264
        return std::move(value());
1664
264
    }
std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>&& scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::scan_error>::operator*<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, (void*)0>() &&
Line
Count
Source
1662
486k
    {
1663
486k
        return std::move(value());
1664
486k
    }
char const*&& scn::v3::expected<char const*, scn::v3::impl::parse_error>::operator*<char const*, (void*)0>() &&
Line
Count
Source
1662
2.09k
    {
1663
2.09k
        return std::move(value());
1664
2.09k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, (void*)0>() &&
Line
Count
Source
1662
3.62k
    {
1663
3.62k
        return std::move(value());
1664
3.62k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, (void*)0>() &&
Line
Count
Source
1662
3.62k
    {
1663
3.62k
        return std::move(value());
1664
3.62k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::eof_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, (void*)0>() &&
Line
Count
Source
1662
1.62k
    {
1663
1.62k
        return std::move(value());
1664
1.62k
    }
scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&& scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::scan_error>::operator*<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, (void*)0>() &&
Line
Count
Source
1662
1.62k
    {
1663
1.62k
        return std::move(value());
1664
1.62k
    }
1665
    template <typename U = T, std::enable_if_t<!std::is_void_v<U>>* = nullptr>
1666
    constexpr const U&& operator*() const&& noexcept
1667
    {
1668
        return std::move(value());
1669
    }
1670
1671
    constexpr value_type* operator->() noexcept
1672
13.7M
    {
1673
13.7M
        return &value();
1674
13.7M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
296k
    {
1673
296k
        return &value();
1674
296k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
283k
    {
1673
283k
        return &value();
1674
283k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
382k
    {
1673
382k
        return &value();
1674
382k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
324k
    {
1673
324k
        return &value();
1674
324k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
390k
    {
1673
390k
        return &value();
1674
390k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
328k
    {
1673
328k
        return &value();
1674
328k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
297k
    {
1673
297k
        return &value();
1674
297k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
284k
    {
1673
284k
        return &value();
1674
284k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
383k
    {
1673
383k
        return &value();
1674
383k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
326k
    {
1673
326k
        return &value();
1674
326k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
390k
    {
1673
390k
        return &value();
1674
390k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
330k
    {
1673
330k
        return &value();
1674
330k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
595
    {
1673
595
        return &value();
1674
595
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
500
    {
1673
500
        return &value();
1674
500
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
711
    {
1673
711
        return &value();
1674
711
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
564
    {
1673
564
        return &value();
1674
564
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
864
    {
1673
864
        return &value();
1674
864
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
694
    {
1673
694
        return &value();
1674
694
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
595
    {
1673
595
        return &value();
1674
595
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
500
    {
1673
500
        return &value();
1674
500
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
711
    {
1673
711
        return &value();
1674
711
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
564
    {
1673
564
        return &value();
1674
564
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
864
    {
1673
864
        return &value();
1674
864
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
694
    {
1673
694
        return &value();
1674
694
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
Line
Count
Source
1672
300k
    {
1673
300k
        return &value();
1674
300k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
scn::v3::expected<std::__1::pair<char const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
Line
Count
Source
1672
90.2k
    {
1673
90.2k
        return &value();
1674
90.2k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
scn::v3::expected<std::__1::pair<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
Line
Count
Source
1672
6.12k
    {
1673
6.12k
        return &value();
1674
6.12k
    }
Unexecuted instantiation: scn::v3::expected<std::__1::pair<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
scn::v3::expected<std::__1::pair<wchar_t const*, scn::v3::impl::sign_type>, scn::v3::impl::eof_error>::operator->()
Line
Count
Source
1672
2.34k
    {
1673
2.34k
        return &value();
1674
2.34k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
904k
    {
1673
904k
        return &value();
1674
904k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
981k
    {
1673
981k
        return &value();
1674
981k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
994k
    {
1673
994k
        return &value();
1674
994k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
956k
    {
1673
956k
        return &value();
1674
956k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
1.03M
    {
1673
1.03M
        return &value();
1674
1.03M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
1.04M
    {
1673
1.04M
        return &value();
1674
1.04M
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
53.1k
    {
1673
53.1k
        return &value();
1674
53.1k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
53.7k
    {
1673
53.7k
        return &value();
1674
53.7k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
54.5k
    {
1673
54.5k
        return &value();
1674
54.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
53.0k
    {
1673
53.0k
        return &value();
1674
53.0k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
53.5k
    {
1673
53.5k
        return &value();
1674
53.5k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
54.4k
    {
1673
54.4k
        return &value();
1674
54.4k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
150k
    {
1673
150k
        return &value();
1674
150k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
150k
    {
1673
150k
        return &value();
1674
150k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
167k
    {
1673
167k
        return &value();
1674
167k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
868k
    {
1673
868k
        return &value();
1674
868k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
868k
    {
1673
868k
        return &value();
1674
868k
    }
scn::v3::expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >, scn::v3::scan_error>::operator->()
Line
Count
Source
1672
868k
    {
1673
868k
        return &value();
1674
868k
    }
1675
    constexpr const value_type* operator->() const noexcept
1676
    {
1677
        return &value();
1678
    }
1679
1680
    /// Returns the expected value if *this contains one, otherwise
1681
    /// returns default_value
1682
    template <typename U,
1683
              typename = std::enable_if_t<std::is_copy_constructible_v<T> &&
1684
                                          std::is_convertible_v<U, T>>>
1685
    constexpr T value_or(U&& default_value) const& noexcept(
1686
        std::is_nothrow_copy_constructible_v<T> &&
1687
        std::is_nothrow_constructible_v<T, U&&>)
1688
    {
1689
        if (has_value()) {
1690
            return value();
1691
        }
1692
        return std::forward<U>(default_value);
1693
    }
1694
    template <typename U,
1695
              typename = std::enable_if_t<std::is_move_constructible_v<T> &&
1696
                                          std::is_convertible_v<U, T>>>
1697
    constexpr T value_or(U&& default_value) && noexcept(
1698
        std::is_nothrow_move_constructible_v<T> &&
1699
        std::is_nothrow_constructible_v<T, U&&>)
1700
    {
1701
        if (has_value()) {
1702
            return std::move(value());
1703
        }
1704
        return std::forward<U>(default_value);
1705
    }
1706
1707
    template <typename G,
1708
              typename = std::enable_if_t<std::is_copy_constructible_v<E> &&
1709
                                          std::is_convertible_v<G, E>>>
1710
    constexpr E error_or(G&& default_error) const& noexcept(
1711
        std::is_nothrow_copy_constructible_v<E> &&
1712
        std::is_nothrow_constructible_v<E, G&&>)
1713
    {
1714
        if (!has_value()) {
1715
            return error();
1716
        }
1717
        return std::forward<G>(default_error);
1718
    }
1719
    template <typename G,
1720
              typename = std::enable_if_t<std::is_move_constructible_v<E> &&
1721
                                          std::is_convertible_v<G, E>>>
1722
    constexpr E error_or(G&& default_error) && noexcept(
1723
        std::is_nothrow_move_constructible_v<E> &&
1724
        std::is_nothrow_constructible_v<E, G&&>)
1725
    {
1726
        if (!has_value()) {
1727
            return std::move(error());
1728
        }
1729
        return std::forward<G>(default_error);
1730
    }
1731
1732
    template <typename F>
1733
    constexpr auto and_then(F&& f) & noexcept(noexcept(
1734
        detail::and_then_impl(SCN_DECLVAL(expected&), std::forward<F>(f))))
1735
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1736
    {
1737
        return detail::and_then_impl(*this, std::forward<F>(f));
1738
    }
1739
    template <typename F>
1740
    constexpr auto and_then(F&& f) const& noexcept(
1741
        noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&),
1742
                                       std::forward<F>(f))))
1743
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1744
    {
1745
        return detail::and_then_impl(*this, std::forward<F>(f));
1746
    }
1747
    template <typename F>
1748
    constexpr auto and_then(F&& f) && noexcept(noexcept(
1749
        detail::and_then_impl(SCN_DECLVAL(expected&&), std::forward<F>(f))))
1750
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1751
    {
1752
        return detail::and_then_impl(std::move(*this), std::forward<F>(f));
1753
    }
1754
    template <typename F>
1755
    constexpr auto and_then(F&& f) const&& noexcept(
1756
        noexcept(detail::and_then_impl(SCN_DECLVAL(const expected&&),
1757
                                       std::forward<F>(f))))
1758
        -> decltype(detail::and_then_impl(*this, std::forward<F>(f)))
1759
    {
1760
        return detail::and_then_impl(std::move(*this), std::forward<F>(f));
1761
    }
1762
1763
    template <typename F>
1764
    constexpr auto or_else(F&& f) & noexcept(noexcept(
1765
        detail::or_else_impl(SCN_DECLVAL(expected&), std::forward<F>(f))))
1766
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1767
    {
1768
        return detail::or_else_impl(*this, std::forward<F>(f));
1769
    }
1770
    template <typename F>
1771
    constexpr auto or_else(F&& f) const& noexcept(noexcept(
1772
        detail::or_else_impl(SCN_DECLVAL(const expected&), std::forward<F>(f))))
1773
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1774
    {
1775
        return detail::or_else_impl(*this, std::forward<F>(f));
1776
    }
1777
    template <typename F>
1778
    constexpr auto or_else(F&& f) && noexcept(noexcept(
1779
        detail::or_else_impl(SCN_DECLVAL(expected&&), std::forward<F>(f))))
1780
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1781
    {
1782
        return detail::or_else_impl(std::move(*this), std::forward<F>(f));
1783
    }
1784
    template <typename F>
1785
    constexpr auto or_else(F&& f) const&& noexcept(
1786
        noexcept(detail::or_else_impl(SCN_DECLVAL(const expected&&),
1787
                                      std::forward<F>(f))))
1788
        -> decltype(detail::or_else_impl(*this, std::forward<F>(f)))
1789
    {
1790
        return detail::or_else_impl(std::move(*this), std::forward<F>(f));
1791
    }
1792
1793
    template <typename F>
1794
    constexpr auto transform(
1795
        F&& f) & -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1796
    {
1797
        return detail::transform_impl(*this, std::forward<F>(f));
1798
    }
1799
    template <typename F>
1800
    constexpr auto transform(F&& f)
1801
        const& -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1802
    {
1803
        return detail::transform_impl(*this, std::forward<F>(f));
1804
    }
1805
    template <typename F>
1806
    constexpr auto transform(
1807
        F&& f) && -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1808
    {
1809
        return detail::transform_impl(std::move(*this), std::forward<F>(f));
1810
    }
1811
    template <typename F>
1812
    constexpr auto transform(F&& f)
1813
        const&& -> decltype(detail::transform_impl(*this, std::forward<F>(f)))
1814
    {
1815
        return detail::transform_impl(std::move(*this), std::forward<F>(f));
1816
    }
1817
1818
    template <typename F>
1819
    constexpr auto transform_error(
1820
        F&& f) & -> decltype(detail::transform_error_impl(*this,
1821
                                                          std::forward<F>(f)))
1822
7.46M
    {
1823
7.46M
        return detail::transform_error_impl(*this, std::forward<F>(f));
1824
7.46M
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1822
3.11M
    {
1823
3.11M
        return detail::transform_error_impl(*this, std::forward<F>(f));
1824
3.11M
    }
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1822
1.01k
    {
1823
1.01k
        return detail::transform_error_impl(*this, std::forward<F>(f));
1824
1.01k
    }
_ZNR3scn2v38expectedIPKcNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeES3_EUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1822
2.90M
    {
1823
2.90M
        return detail::transform_error_impl(*this, std::forward<F>(f));
1824
2.90M
    }
Unexecuted instantiation: _ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
_ZNR3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1822
804k
    {
1823
804k
        return detail::transform_error_impl(*this, std::forward<F>(f));
1824
804k
    }
_ZNR3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Line
Count
Source
1822
528
    {
1823
528
        return detail::transform_error_impl(*this, std::forward<F>(f));
1824
528
    }
_ZNR3scn2v38expectedIPKwNS0_4impl11parse_errorEE15transform_errorIZNS4_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS5_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1822
632k
    {
1823
632k
        return detail::transform_error_impl(*this, std::forward<F>(f));
1824
632k
    }
1825
    template <typename F>
1826
    constexpr auto transform_error(F&& f)
1827
        const& -> decltype(detail::transform_error_impl(*this,
1828
                                                        std::forward<F>(f)))
1829
    {
1830
        return detail::transform_error_impl(*this, std::forward<F>(f));
1831
    }
1832
    template <typename F>
1833
    constexpr auto transform_error(
1834
        F&& f) && -> decltype(detail::transform_error_impl(*this,
1835
                                                           std::forward<F>(f)))
1836
43.1M
    {
1837
43.1M
        return detail::transform_error_impl(std::move(*this),
1838
43.1M
                                            std::forward<F>(f));
1839
43.1M
    }
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1836
5.56M
    {
1837
5.56M
        return detail::transform_error_impl(std::move(*this),
1838
5.56M
                                            std::forward<F>(f));
1839
5.56M
    }
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1836
1.72M
    {
1837
1.72M
        return detail::transform_error_impl(std::move(*this),
1838
1.72M
                                            std::forward<F>(f));
1839
1.72M
    }
_ZNO3scn2v38expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1836
5.54M
    {
1837
5.54M
        return detail::transform_error_impl(std::move(*this),
1838
5.54M
                                            std::forward<F>(f));
1839
5.54M
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESL_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSR_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1836
10.4M
    {
1837
10.4M
        return detail::transform_error_impl(std::move(*this),
1838
10.4M
                                            std::forward<F>(f));
1839
10.4M
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1836
2.16M
    {
1837
2.16M
        return detail::transform_error_impl(std::move(*this),
1838
2.16M
                                            std::forward<F>(f));
1839
2.16M
    }
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1836
1.65M
    {
1837
1.65M
        return detail::transform_error_impl(std::move(*this),
1838
1.65M
                                            std::forward<F>(f));
1839
1.65M
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINSt3__117basic_string_viewIcNS9_11char_traitsIcEEEEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1836
1.58k
    {
1837
1.58k
        return detail::transform_error_impl(std::move(*this),
1838
1.58k
                                            std::forward<F>(f));
1839
1.58k
    }
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1836
3.19k
    {
1837
3.19k
        return detail::transform_error_impl(std::move(*this),
1838
3.19k
                                            std::forward<F>(f));
1839
3.19k
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKcS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Line
Count
Source
1836
1.52k
    {
1837
1.52k
        return detail::transform_error_impl(std::move(*this),
1838
1.52k
                                            std::forward<F>(f));
1839
1.52k
    }
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeES6_EUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1836
1.51k
    {
1837
1.51k
        return detail::transform_error_impl(std::move(*this),
1838
1.51k
                                            std::forward<F>(f));
1839
1.51k
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKcEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1836
2.16M
    {
1837
2.16M
        return detail::transform_error_impl(std::move(*this),
1838
2.16M
                                            std::forward<F>(f));
1839
2.16M
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_
_ZNO3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_
Line
Count
Source
1836
3.17M
    {
1837
3.17M
        return detail::transform_error_impl(std::move(*this),
1838
3.17M
                                            std::forward<F>(f));
1839
3.17M
    }
_ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Line
Count
Source
1836
508
    {
1837
508
        return detail::transform_error_impl(std::move(*this),
1838
508
                                            std::forward<F>(f));
1839
508
    }
_ZNO3scn2v38expectedINSt3__14pairIPKcNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1836
3.01M
    {
1837
3.01M
        return detail::transform_error_impl(std::move(*this),
1838
3.01M
                                            std::forward<F>(f));
1839
3.01M
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_INS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_15take_width_viewINS9_6detail9subrange_8subrangeIS8_SA_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESL_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSR_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESE_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlSC_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSK_
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9eof_errorEE15transform_errorIRFNS6_11parse_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1836
1.52M
    {
1837
1.52M
        return detail::transform_error_impl(std::move(*this),
1838
1.52M
                                            std::forward<F>(f));
1839
1.52M
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1836
351k
    {
1837
351k
        return detail::transform_error_impl(std::move(*this),
1838
351k
                                            std::forward<F>(f));
1839
351k
    }
_ZNO3scn2v38expectedINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl11parse_errorEE15transform_errorIZNS6_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS7_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1836
303k
    {
1837
303k
        return detail::transform_error_impl(std::move(*this),
1838
303k
                                            std::forward<F>(f));
1839
303k
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINSt3__117basic_string_viewIwNS9_11char_traitsIwEEEEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1836
386
    {
1837
386
        return detail::transform_error_impl(std::move(*this),
1838
386
                                            std::forward<F>(f));
1839
386
    }
_ZNO3scn2v38expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS0_10scan_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1836
2.61M
    {
1837
2.61M
        return detail::transform_error_impl(std::move(*this),
1838
2.61M
                                            std::forward<F>(f));
1839
2.61M
    }
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_9eof_errorEE15transform_errorIRFNS2_11parse_errorES8_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
1836
1.61k
    {
1837
1.61k
        return detail::transform_error_impl(std::move(*this),
1838
1.61k
                                            std::forward<F>(f));
1839
1.61k
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultINS2_27counted_width_iterator_impl22counted_width_iteratorIPKwS7_EEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESA_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Line
Count
Source
1836
770
    {
1837
770
        return detail::transform_error_impl(std::move(*this),
1838
770
                                            std::forward<F>(f));
1839
770
    }
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS6_EENS2_11parse_errorEE15transform_errorIZNS2_29map_parse_error_to_scan_errorENS0_10scan_error4codeEPKcEUlS8_E_EEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSG_
Line
Count
Source
1836
718
    {
1837
718
        return detail::transform_error_impl(std::move(*this),
1838
718
                                            std::forward<F>(f));
1839
718
    }
_ZNO3scn2v38expectedIPKwNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1836
1.53M
    {
1837
1.53M
        return detail::transform_error_impl(std::move(*this),
1838
1.53M
                                            std::forward<F>(f));
1839
1.53M
    }
_ZNO3scn2v38expectedINS0_4impl27parse_integer_prefix_resultIPKwEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorES7_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
1836
355k
    {
1837
355k
        return detail::transform_error_impl(std::move(*this),
1838
355k
                                            std::forward<F>(f));
1839
355k
    }
Unexecuted instantiation: _ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_6ranges18default_sentinel_tEEENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESG_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSM_
_ZNO3scn2v38expectedINSt3__14pairINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS0_4impl9sign_typeEEENS8_9eof_errorEE15transform_errorIRFNS0_10scan_errorESB_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSH_
Line
Count
Source
1836
484k
    {
1837
484k
        return detail::transform_error_impl(std::move(*this),
1838
484k
                                            std::forward<F>(f));
1839
484k
    }
_ZNO3scn2v38expectedINSt3__14pairINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EENS4_9sign_typeEEENS4_9eof_errorEE15transform_errorIRFNS0_10scan_errorESC_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSI_
Line
Count
Source
1836
264
    {
1837
264
        return detail::transform_error_impl(std::move(*this),
1838
264
                                            std::forward<F>(f));
1839
264
    }
_ZNO3scn2v38expectedINSt3__14pairIPKwNS0_4impl9sign_typeEEENS6_9eof_errorEE15transform_errorIRFNS0_10scan_errorES9_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
1836
486k
    {
1837
486k
        return detail::transform_error_impl(std::move(*this),
1838
486k
                                            std::forward<F>(f));
1839
486k
    }
_ZNO3scn2v38expectedIPKcNS0_4impl9eof_errorEE15transform_errorIRFNS4_11parse_errorES5_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSB_
Line
Count
Source
1836
2.19k
    {
1837
2.19k
        return detail::transform_error_impl(std::move(*this),
1838
2.19k
                                            std::forward<F>(f));
1839
2.19k
    }
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKcS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Line
Count
Source
1836
3.75k
    {
1837
3.75k
        return detail::transform_error_impl(std::move(*this),
1838
3.75k
                                            std::forward<F>(f));
1839
3.75k
    }
_ZNO3scn2v38expectedINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS4_IPKwS6_EENS2_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIS6_S6_EEE8sentinelILb1EEEEENS2_9eof_errorEE15transform_errorIRFNS0_10scan_errorESI_EEEDTclsr6detailE20transform_error_impldefpTclsr3stdE7forwardIT_Efp_EEEOSO_
Line
Count
Source
1836
1.62k
    {
1837
1.62k
        return detail::transform_error_impl(std::move(*this),
1838
1.62k
                                            std::forward<F>(f));
1839
1.62k
    }
1840
    template <typename F>
1841
    constexpr auto transform_error(F&& f)
1842
        const&& -> decltype(detail::transform_error_impl(*this,
1843
                                                         std::forward<F>(f)))
1844
    {
1845
        return detail::transform_error_impl(std::move(*this),
1846
                                            std::forward<F>(f));
1847
    }
1848
1849
private:
1850
    template <typename... Args>
1851
    void emplace_impl(Args&&... args) noexcept(
1852
        std::is_nothrow_constructible_v<T, Args&&...>)
1853
    {
1854
        if (this->has_value()) {
1855
            this->destroy_value();
1856
            this->construct(std::forward<Args>(args)...);
1857
        }
1858
        else {
1859
#if SCN_HAS_EXCEPTIONS
1860
            if constexpr (std::is_nothrow_constructible_v<T, Args&&...>) {
1861
                auto tmp = std::move(error());
1862
                this->destroy_unexpected();
1863
1864
                try {
1865
                    this->construct(std::forward<Args>(args)...);
1866
                }
1867
                catch (...) {
1868
                    this->construct_unexpected(std::move(tmp));
1869
                    throw;
1870
                }
1871
            }
1872
            else {
1873
                this->construct(std::forward<Args>(args)...);
1874
            }
1875
#else
1876
            this->destroy_unexpected();
1877
            this->construct(std::forward<Args>(args)...);
1878
#endif
1879
        }
1880
    }
1881
1882
    template <typename Value>
1883
    void assign_value(Value&& val) noexcept(
1884
        std::is_nothrow_constructible_v<detail::remove_cvref_t<Value>,
1885
                                        Value&&> &&
1886
        std::is_nothrow_assignable_v<T, Value&&>)
1887
    {
1888
        if (has_value()) {
1889
            this->get_value() = std::forward<Value>(val);
1890
            return;
1891
        }
1892
1893
#if SCN_HAS_EXCEPTIONS
1894
        if constexpr (std::is_nothrow_constructible_v<T, Value&&>) {
1895
            this->destroy_unexpected();
1896
            this->construct(std::forward<Value>(val));
1897
        }
1898
        else {
1899
            auto tmp = std::move(this->get_unexpected());
1900
            this->destroy_unexpected();
1901
1902
            try {
1903
                this->construct(std::forward<Value>(val));
1904
            }
1905
            catch (...) {
1906
                this->construct_unexpected(std::move(tmp));
1907
            }
1908
        }
1909
#else
1910
        this->destroy_unexpected();
1911
        this->construct(std::forward<Value>(val));
1912
#endif
1913
    }
1914
1915
    template <typename Unexpected>
1916
    void assign_unexpected(Unexpected&& unex) noexcept(
1917
        std::is_nothrow_constructible_v<E, Unexpected&&> &&
1918
        std::is_nothrow_assignable_v<E, Unexpected&&>)
1919
    {
1920
        if (!has_value()) {
1921
            this->get_unexpected() = std::forward<Unexpected>(unex);
1922
            return;
1923
        }
1924
1925
        this->destroy_value();
1926
        this->construct_unexpected(std::forward<Unexpected>(unex));
1927
    }
1928
};
1929
1930
/////////////////////////////////////////////////////////////////
1931
// <ranges> implementation
1932
/////////////////////////////////////////////////////////////////
1933
1934
// The following is a very minimal <ranges> implementation,
1935
// which is a heavily stripped-down and adapted version of NanoRange:
1936
//   https://github.com/tcbrindle/NanoRange
1937
// NanoRange is provided under the Boost license.
1938
//   Copyright (c) 2018 Tristan Brindle (tcbrindle at gmail dot com)
1939
1940
namespace ranges {
1941
1942
namespace detail {
1943
using namespace scn::detail;
1944
1945
template <typename T>
1946
constexpr auto decay_copy(T&& t) noexcept(
1947
    noexcept(static_cast<std::decay_t<T>>(SCN_FWD(t)))) -> std::decay_t<T>
1948
684M
{
1949
684M
    return SCN_FWD(t);
1950
684M
}
_ZN3scn2v36ranges6detail10decay_copyIPKcEEu7__decayIT_EOS6_
Line
Count
Source
1948
54.2M
{
1949
54.2M
    return SCN_FWD(t);
1950
54.2M
}
_ZN3scn2v36ranges6detail10decay_copyImEEu7__decayIT_EOS4_
Line
Count
Source
1948
15.2M
{
1949
15.2M
    return SCN_FWD(t);
1950
15.2M
}
_ZN3scn2v36ranges6detail10decay_copyINSt3__116__deque_iteratorIcPKcRS6_PKS7_lLl4096EEEEEu7__decayIT_EOSC_
Line
Count
Source
1948
200M
{
1949
200M
    return SCN_FWD(t);
1950
200M
}
_ZN3scn2v36ranges6detail10decay_copyIPKwEEu7__decayIT_EOS6_
Line
Count
Source
1948
17.5M
{
1949
17.5M
    return SCN_FWD(t);
1950
17.5M
}
_ZN3scn2v36ranges6detail10decay_copyINSt3__116__deque_iteratorIwPKwRS6_PKS7_lLl1024EEEEEu7__decayIT_EOSC_
Line
Count
Source
1948
394M
{
1949
394M
    return SCN_FWD(t);
1950
394M
}
Unexecuted instantiation: _ZN3scn2v36ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_
_ZN3scn2v36ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcS8_EEEEu7__decayIT_EOSA_
Line
Count
Source
1948
7.47k
{
1949
7.47k
    return SCN_FWD(t);
1950
7.47k
}
_ZN3scn2v36ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIcE16forward_iteratorEEEu7__decayIT_EOS8_
Line
Count
Source
1948
2.25M
{
1949
2.25M
    return SCN_FWD(t);
1950
2.25M
}
Unexecuted instantiation: _ZN3scn2v36ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEu7__decayIT_EOSD_
_ZN3scn2v36ranges6detail10decay_copyINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwS8_EEEEu7__decayIT_EOSA_
Line
Count
Source
1948
1.41k
{
1949
1.41k
    return SCN_FWD(t);
1950
1.41k
}
_ZN3scn2v36ranges6detail10decay_copyINS0_6detail17basic_scan_bufferIwE16forward_iteratorEEEu7__decayIT_EOS8_
Line
Count
Source
1948
404k
{
1949
404k
    return SCN_FWD(t);
1950
404k
}
1951
1952
template <bool>
1953
struct conditional {
1954
    template <typename T, typename>
1955
    using type = T;
1956
};
1957
1958
template <>
1959
struct conditional<false> {
1960
    template <typename, typename U>
1961
    using type = U;
1962
};
1963
1964
template <bool B, typename T, typename U>
1965
using conditional_t = typename conditional<B>::template type<T, U>;
1966
1967
template <template <class...> class AliasT, typename... Args>
1968
auto exists_helper(long) -> std::false_type;
1969
1970
template <template <class...> class AliasT,
1971
          typename... Args,
1972
          typename = AliasT<Args...>>
1973
auto exists_helper(int) -> std::true_type;
1974
1975
template <template <class...> class AliasT, typename... Args>
1976
inline constexpr bool exists_v =
1977
    decltype(exists_helper<AliasT, Args...>(0))::value;
1978
1979
template <typename, typename...>
1980
auto test_requires_fn(long) -> std::false_type;
1981
1982
template <typename R,
1983
          typename... Args,
1984
          typename = decltype(&R::template requires_<Args...>)>
1985
auto test_requires_fn(int) -> std::true_type;
1986
1987
template <typename R, typename... Args>
1988
inline constexpr bool requires_ =
1989
    decltype(test_requires_fn<R, Args...>(0))::value;
1990
1991
template <bool Expr>
1992
using requires_expr = std::enable_if_t<Expr, int>;
1993
}  // namespace detail
1994
1995
template <typename>
1996
inline constexpr bool enable_borrowed_range = false;
1997
1998
namespace detail {
1999
template <typename T>
2000
inline constexpr bool boolean_testable_impl = std::is_convertible_v<T, bool>;
2001
2002
struct boolean_testable_concept {
2003
    template <typename T>
2004
    auto requires_(T&& t)
2005
        -> requires_expr<boolean_testable_impl<decltype(!std::forward<T>(t))>>;
2006
};
2007
2008
template <typename T>
2009
inline constexpr bool boolean_testable =
2010
    boolean_testable_impl<T> && detail::requires_<boolean_testable_concept, T>;
2011
}  // namespace detail
2012
2013
namespace detail {
2014
struct weakly_equality_comparable_with_concept {
2015
    template <typename T, typename U>
2016
    auto requires_(const std::remove_reference_t<T>& t,
2017
                   const std::remove_reference_t<U>& u)
2018
        -> decltype(requires_expr<boolean_testable<decltype(t == u)>>{},
2019
                    requires_expr<boolean_testable<decltype(t != u)>>{},
2020
                    requires_expr<boolean_testable<decltype(u == t)>>{},
2021
                    requires_expr<boolean_testable<decltype(u != t)>>{});
2022
};
2023
2024
template <typename T, typename U>
2025
inline constexpr bool weakly_equality_comparable_with =
2026
    requires_<weakly_equality_comparable_with_concept, T, U>;
2027
}  // namespace detail
2028
2029
template <typename T>
2030
inline constexpr bool equality_comparable =
2031
    detail::weakly_equality_comparable_with<T, T>;
2032
2033
namespace detail {
2034
struct equality_comparable_with_concept {
2035
    template <typename, typename>
2036
    static auto test(long) -> std::false_type;
2037
2038
    template <typename T, typename U>
2039
    static auto test(int)
2040
        -> std::enable_if_t<equality_comparable<T> && equality_comparable<U> &&
2041
#if 0
2042
            common_reference_with<const std::remove_reference_t<T>&,
2043
                                  const std::remove_reference_t<U>&> &&
2044
            equality_comparable<
2045
                common_reference_t<const std::remove_reference_t<T>&,
2046
                                   const std::remove_reference_t<U>&>> &&
2047
#endif
2048
                                weakly_equality_comparable_with<T, U>,
2049
                            std::true_type>;
2050
};
2051
}  // namespace detail
2052
2053
template <typename T, typename U>
2054
inline constexpr bool equality_comparable_with =
2055
    decltype(detail::equality_comparable_with_concept::test<T, U>(0))::value;
2056
2057
namespace detail {
2058
struct partially_ordered_with_concept {
2059
    template <typename T, typename U>
2060
    auto requires_(const std::remove_reference_t<T>& t,
2061
                   const std::remove_reference_t<U>& u)
2062
        -> decltype(requires_expr<boolean_testable<decltype(t < u)>>{},
2063
                    requires_expr<boolean_testable<decltype(t > u)>>{},
2064
                    requires_expr<boolean_testable<decltype(t <= u)>>{},
2065
                    requires_expr<boolean_testable<decltype(t >= u)>>{},
2066
                    requires_expr<boolean_testable<decltype(u < t)>>{},
2067
                    requires_expr<boolean_testable<decltype(u > t)>>{},
2068
                    requires_expr<boolean_testable<decltype(u <= t)>>{},
2069
                    requires_expr<boolean_testable<decltype(u >= t)>>{});
2070
};
2071
2072
template <typename T, typename U>
2073
inline constexpr bool partially_ordered_with =
2074
    detail::requires_<detail::partially_ordered_with_concept, T, U>;
2075
}  // namespace detail
2076
2077
template <typename T>
2078
inline constexpr bool totally_ordered =
2079
    equality_comparable<T> && detail::partially_ordered_with<T, T>;
2080
2081
namespace detail {
2082
struct totally_ordered_with_concept {
2083
    template <typename, typename>
2084
    static auto test(long) -> std::false_type;
2085
2086
    template <typename T, typename U>
2087
    static auto test(int)
2088
        -> std::enable_if_t<totally_ordered<T> && totally_ordered<U> &&
2089
                                equality_comparable_with<T, U> &&
2090
#if 0
2091
                                totally_ordered<common_reference_t<
2092
                                    const std::remove_reference_t<T>&,
2093
                                    const std::remove_reference_t<U>&>> &&
2094
#endif
2095
                                partially_ordered_with<T, U>,
2096
                            std::true_type>;
2097
};
2098
}  // namespace detail
2099
2100
template <typename T, typename U>
2101
inline constexpr bool totally_ordered_with =
2102
    decltype(detail::totally_ordered_with_concept::test<T, U>(0))::value;
2103
2104
namespace detail {
2105
struct movable_concept {
2106
    template <typename T>
2107
    static auto test(long) -> std::false_type;
2108
2109
    template <typename T>
2110
    static auto test(int) -> std::enable_if_t<
2111
        std::is_object_v<T> && std::is_move_constructible_v<T> &&
2112
            std::is_move_assignable_v<T> && std::is_swappable_v<T>,
2113
        std::true_type>;
2114
};
2115
}  // namespace detail
2116
2117
template <typename T>
2118
inline constexpr bool movable =
2119
    decltype(detail::movable_concept::test<T>(0))::value;
2120
2121
namespace detail {
2122
struct copyable_concept {
2123
    template <typename>
2124
    static auto test(long) -> std::false_type;
2125
2126
    template <typename T>
2127
    static auto test(int)
2128
        -> std::enable_if_t<std::is_copy_constructible_v<T> && movable<T> &&
2129
                                std::is_copy_assignable_v<T>,
2130
                            std::true_type>;
2131
};
2132
}  // namespace detail
2133
2134
template <typename T>
2135
inline constexpr bool copyable =
2136
    decltype(detail::copyable_concept::test<T>(0))::value;
2137
2138
template <typename T>
2139
inline constexpr bool semiregular =
2140
    copyable<T> && std::is_default_constructible_v<T>;
2141
2142
template <typename T>
2143
inline constexpr bool regular = semiregular<T> && equality_comparable<T>;
2144
2145
template <typename>
2146
struct incrementable_traits;
2147
2148
namespace detail {
2149
struct empty {};
2150
2151
template <typename T>
2152
struct with_difference_type {
2153
    using difference_type = T;
2154
};
2155
2156
template <typename, typename = void>
2157
struct incrementable_traits_helper {};
2158
2159
// Workaround for GCC silliness: void* has no difference_type
2160
// FIXME: This is required to stop WeaklyIncrementable<void*> being a hard
2161
// error Can we formulate the concept differently to avoid the need for this
2162
// hack?
2163
template <>
2164
struct incrementable_traits_helper<void*> {};
2165
2166
template <typename T>
2167
struct incrementable_traits_helper<T*>
2168
    : detail::conditional_t<std::is_object_v<T>,
2169
                            with_difference_type<std::ptrdiff_t>,
2170
                            empty> {};
2171
2172
template <class I>
2173
struct incrementable_traits_helper<const I>
2174
    : incrementable_traits<std::decay_t<I>> {};
2175
2176
template <typename, typename = void>
2177
struct has_member_difference_type : std::false_type {};
2178
2179
template <typename T>
2180
struct has_member_difference_type<T, std::void_t<typename T::difference_type>>
2181
    : std::true_type {};
2182
2183
template <typename T>
2184
constexpr bool has_member_difference_type_v =
2185
    has_member_difference_type<T>::value;
2186
2187
template <typename T>
2188
struct incrementable_traits_helper<
2189
    T,
2190
    std::enable_if_t<has_member_difference_type_v<T>>> {
2191
    using difference_type = typename T::difference_type;
2192
};
2193
2194
template <typename T, typename = void>
2195
struct subtraction_result_type {
2196
    using type = void;
2197
};
2198
template <typename T>
2199
struct subtraction_result_type<
2200
    T,
2201
    std::void_t<decltype(std::declval<const T&>() -
2202
                         std::declval<const T&>())>> {
2203
    using type = decltype(std::declval<const T&>() - std::declval<const T&>());
2204
};
2205
2206
template <typename T>
2207
inline constexpr bool enable_incrtraits_subtractable =
2208
    !std::is_pointer_v<T> && !has_member_difference_type_v<T> &&
2209
    std::is_integral_v<typename subtraction_result_type<T>::type>;
2210
2211
template <typename T>
2212
struct incrementable_traits_helper<
2213
    T,
2214
    std::enable_if_t<enable_incrtraits_subtractable<T>>>
2215
    : with_difference_type<
2216
          std::make_signed_t<typename subtraction_result_type<T>::type>> {};
2217
}  // namespace detail
2218
2219
template <typename T>
2220
struct incrementable_traits : detail::incrementable_traits_helper<T> {};
2221
2222
template <typename T>
2223
using iter_difference_t = typename incrementable_traits<T>::difference_type;
2224
2225
template <typename>
2226
struct readable_traits;
2227
2228
namespace detail {
2229
template <typename T>
2230
struct with_value_type {
2231
    using value_type = T;
2232
};
2233
2234
template <typename, typename = void>
2235
struct readable_traits_helper {};
2236
2237
template <typename T>
2238
struct readable_traits_helper<T*>
2239
    : detail::conditional_t<std::is_object_v<T>,
2240
                            with_value_type<std::remove_cv_t<T>>,
2241
                            empty> {};
2242
2243
template <typename I>
2244
struct readable_traits_helper<I, std::enable_if_t<std::is_array_v<I>>>
2245
    : readable_traits<std::decay_t<I>> {};
2246
2247
template <typename I>
2248
struct readable_traits_helper<const I, std::enable_if_t<!std::is_array_v<I>>>
2249
    : readable_traits<std::decay_t<I>> {};
2250
2251
template <typename T, typename V = typename T::value_type>
2252
struct member_value_type
2253
    : detail::conditional_t<std::is_object_v<V>, with_value_type<V>, empty> {};
2254
2255
template <typename T, typename E = typename T::element_type>
2256
struct member_element_type
2257
    : detail::conditional_t<std::is_object_v<E>,
2258
                            with_value_type<std::remove_cv_t<E>>,
2259
                            empty> {};
2260
2261
template <typename T>
2262
using member_value_type_t = typename T::value_type;
2263
2264
template <typename T>
2265
constexpr bool has_member_value_type_v = exists_v<member_value_type_t, T>;
2266
2267
template <typename T>
2268
using member_element_type_t = typename T::element_type;
2269
2270
template <typename T>
2271
constexpr bool has_member_element_type_v = exists_v<member_element_type_t, T>;
2272
2273
template <typename T>
2274
struct readable_traits_helper<T,
2275
                              std::enable_if_t<has_member_value_type_v<T> &&
2276
                                               !has_member_element_type_v<T>>>
2277
    : member_value_type<T> {};
2278
2279
template <typename T>
2280
struct readable_traits_helper<T,
2281
                              std::enable_if_t<has_member_element_type_v<T> &&
2282
                                               !has_member_value_type_v<T>>>
2283
    : member_element_type<T> {};
2284
2285
// A type which has both value_type and element_type members must specialise
2286
// readable_traits to tell us which one to prefer -- see
2287
// https://github.com/ericniebler/stl2/issues/562
2288
template <typename T>
2289
struct readable_traits_helper<T,
2290
                              std::enable_if_t<has_member_element_type_v<T> &&
2291
                                               has_member_value_type_v<T>>> {};
2292
}  // namespace detail
2293
2294
template <typename T>
2295
struct readable_traits : detail::readable_traits_helper<T> {};
2296
2297
template <typename T>
2298
using iter_value_t = typename readable_traits<T>::value_type;
2299
2300
namespace detail {
2301
template <typename T>
2302
using with_reference = T&;
2303
2304
struct can_reference_concept {
2305
    template <typename T>
2306
    auto requires_() -> with_reference<T>;
2307
};
2308
2309
template <typename T>
2310
inline constexpr bool can_reference =
2311
    detail::requires_<can_reference_concept, T>;
2312
2313
struct dereferencable_concept {
2314
    template <typename T>
2315
    auto requires_(T& t)
2316
        -> decltype(requires_expr<can_reference<decltype(*t)>>{});
2317
};
2318
2319
template <typename T>
2320
inline constexpr bool dereferenceable = requires_<dereferencable_concept, T>;
2321
2322
// GCC and Clang allow dereferencing void* as an extension.
2323
// Let's kill that off now.
2324
2325
template <>
2326
inline constexpr bool dereferenceable<void*> = false;
2327
}  // namespace detail
2328
2329
using std::bidirectional_iterator_tag;
2330
using std::forward_iterator_tag;
2331
using std::input_iterator_tag;
2332
using std::output_iterator_tag;
2333
using std::random_access_iterator_tag;
2334
2335
#if SCN_STD >= SCN_STD_20 && defined(__cpp_lib_ranges) && \
2336
    __cpp_lib_ranges >= 201911L
2337
using std::contiguous_iterator_tag;
2338
#else
2339
struct contiguous_iterator_tag : random_access_iterator_tag {};
2340
#endif
2341
2342
template <typename T>
2343
struct iterator_category;
2344
2345
namespace detail {
2346
template <typename T, typename = void>
2347
struct iterator_category_ {};
2348
template <typename T>
2349
struct iterator_category_<T*>
2350
    : std::enable_if<std::is_object_v<T>, contiguous_iterator_tag> {};
2351
template <typename T>
2352
struct iterator_category_<const T> : iterator_category<T> {};
2353
template <typename T>
2354
struct iterator_category_<T, std::void_t<typename T::iterator_category>> {
2355
    using type = typename T::iterator_category;
2356
};
2357
}  // namespace detail
2358
2359
template <typename T>
2360
struct iterator_category : detail::iterator_category_<T> {};
2361
template <typename T>
2362
using iterator_category_t = typename iterator_category<T>::type;
2363
2364
namespace detail {
2365
2366
template <typename T, typename = void>
2367
struct legacy_iterator_category : iterator_category<T> {};
2368
2369
template <typename T>
2370
struct legacy_iterator_category<
2371
    T,
2372
    std::enable_if_t<
2373
        std::is_same_v<iterator_category_t<T>, contiguous_iterator_tag>>> {
2374
    using type = random_access_iterator_tag;
2375
};
2376
2377
template <typename T>
2378
using legacy_iterator_category_t = typename legacy_iterator_category<T>::type;
2379
2380
}  // namespace detail
2381
2382
template <typename T>
2383
using iter_reference_t =
2384
    std::enable_if_t<detail::dereferenceable<T>, decltype(*std::declval<T&>())>;
2385
2386
namespace detail {
2387
2388
struct readable_concept {
2389
    template <typename In>
2390
    auto requires_() -> decltype(std::declval<iter_value_t<In>>(),
2391
                                 std::declval<iter_reference_t<In>>());
2392
    // std::declval<iter_rvalue_reference_t<In>>());
2393
2394
    template <typename>
2395
    static auto test(long) -> std::false_type;
2396
2397
    template <typename In>
2398
    static auto test(int)
2399
        -> std::enable_if_t<detail::requires_<readable_concept, In>,
2400
#if 0
2401
            common_reference_with<iter_reference_t<In>&&, iter_value_t<In>&> &&
2402
            common_reference_with<iter_reference_t<In>&&,
2403
                                  iter_rvalue_reference_t<In>&&> &&
2404
            common_reference_with<iter_rvalue_reference_t<In>&&,
2405
                                  const iter_value_t<In>&>,
2406
#endif
2407
                            std::true_type>;
2408
};
2409
2410
}  // namespace detail
2411
2412
template <typename In>
2413
inline constexpr bool readable =
2414
    decltype(detail::readable_concept::test<In>(0))::value;
2415
2416
namespace detail {
2417
2418
struct writable_concept {
2419
    template <typename Out, typename T>
2420
    auto requires_(Out&& o, T&& t)
2421
        -> decltype(*o = std::forward<T>(t),
2422
                    *std::forward<Out>(o) = std::forward<T>(t),
2423
                    const_cast<const iter_reference_t<Out>&&>(*o) =
2424
                        std::forward<T>(t),
2425
                    const_cast<const iter_reference_t<Out>&&>(
2426
                        *std::forward<Out>(o)) = std::forward<T>(t));
2427
};
2428
2429
}  // namespace detail
2430
2431
template <typename Out, typename T>
2432
inline constexpr bool writable =
2433
    detail::requires_<detail::writable_concept, Out, T>;
2434
2435
namespace detail {
2436
2437
template <typename T>
2438
inline constexpr bool is_integer_like = std::is_integral_v<T>;
2439
2440
template <typename T>
2441
inline constexpr bool is_signed_integer_like =
2442
    std::is_integral_v<T> && std::is_signed_v<T>;
2443
2444
struct weakly_incrementable_concept {
2445
    template <typename I>
2446
    auto requires_(I i)
2447
        -> decltype(std::declval<iter_difference_t<I>>(),
2448
                    requires_expr<
2449
                        is_signed_integer_like<iter_difference_t<I>>>{},
2450
                    requires_expr<std::is_same_v<decltype(++i), I&>>{},
2451
                    i++);
2452
};
2453
2454
}  // namespace detail
2455
2456
template <typename I>
2457
inline constexpr bool weakly_incrementable =
2458
    std::is_default_constructible_v<I> && movable<I> &&
2459
    detail::requires_<detail::weakly_incrementable_concept, I>;
2460
2461
namespace detail {
2462
2463
struct incrementable_concept {
2464
    template <typename I>
2465
    auto requires_(I i)
2466
        -> decltype(requires_expr<std::is_same_v<decltype(i++), I>>{});
2467
};
2468
2469
}  // namespace detail
2470
2471
template <typename I>
2472
inline constexpr bool incrementable =
2473
    regular<I> && weakly_incrementable<I> &&
2474
    detail::requires_<detail::incrementable_concept, I>;
2475
2476
namespace detail {
2477
2478
struct input_or_output_iterator_concept {
2479
    template <typename I>
2480
    auto requires_(I i)
2481
        -> decltype(requires_expr<can_reference<decltype(*i)>>{});
2482
};
2483
2484
}  // namespace detail
2485
2486
template <typename I>
2487
inline constexpr bool input_or_output_iterator =
2488
    detail::requires_<detail::input_or_output_iterator_concept, I> &&
2489
    weakly_incrementable<I>;
2490
2491
template <typename S, typename I>
2492
inline constexpr bool sentinel_for =
2493
    semiregular<S> && input_or_output_iterator<I> &&
2494
    detail::weakly_equality_comparable_with<S, I>;
2495
2496
template <typename S, typename I>
2497
inline constexpr bool disable_sized_sentinel = false;
2498
2499
namespace detail {
2500
2501
struct sized_sentinel_for_concept {
2502
    template <typename S, typename I>
2503
    auto requires_(const S& s, const I& i)
2504
        -> decltype(requires_expr<std::is_same_v<decltype(s - i),
2505
                                                 iter_difference_t<I>>>{},
2506
                    requires_expr<std::is_same_v<decltype(i - s),
2507
                                                 iter_difference_t<I>>>{});
2508
};
2509
2510
}  // namespace detail
2511
2512
template <typename S, typename I>
2513
inline constexpr bool sized_sentinel_for =
2514
    sentinel_for<S, I> &&
2515
    !disable_sized_sentinel<std::remove_cv_t<S>, std::remove_cv_t<I>> &&
2516
    detail::requires_<detail::sized_sentinel_for_concept, S, I>;
2517
2518
// This is a hack, but I'm fed up with my tests breaking because GCC
2519
// has a silly extension
2520
template <typename S>
2521
inline constexpr bool sized_sentinel_for<S, void*> = false;
2522
2523
template <typename I>
2524
inline constexpr bool sized_sentinel_for<void*, I> = false;
2525
2526
template <>
2527
inline constexpr bool sized_sentinel_for<void*, void*> = false;
2528
2529
namespace detail {
2530
2531
// FIXME: Use ITER_CONCEPT, not iterator_category_t
2532
struct input_iterator_concept {
2533
    template <typename I>
2534
    auto requires_() -> iterator_category_t<I>;
2535
2536
    template <typename>
2537
    static auto test(long) -> std::false_type;
2538
2539
    template <typename I>
2540
    static auto test(int) -> std::enable_if_t<
2541
        input_or_output_iterator<I> && readable<I> &&
2542
            detail::requires_<input_iterator_concept, I> &&
2543
            std::is_base_of_v<input_iterator_tag, iterator_category_t<I>>,
2544
        std::true_type>;
2545
};
2546
2547
}  // namespace detail
2548
2549
template <typename I>
2550
inline constexpr bool input_iterator =
2551
    decltype(detail::input_iterator_concept::test<I>(0))::value;
2552
2553
namespace detail {
2554
2555
struct output_iterator_concept {
2556
    template <typename I, typename T>
2557
    auto requires_(I i, T&& t) -> decltype(*i++ = std::forward<T>(t));
2558
};
2559
2560
}  // namespace detail
2561
2562
template <typename I, typename T>
2563
inline constexpr bool output_iterator =
2564
    input_or_output_iterator<I> && writable<I, T> &&
2565
    detail::requires_<detail::output_iterator_concept, I, T>;
2566
2567
namespace detail {
2568
2569
struct forward_iterator_concept {
2570
    template <typename>
2571
    static auto test(long) -> std::false_type;
2572
2573
    template <typename I>
2574
    static auto test(int) -> std::enable_if_t<
2575
        input_iterator<I> &&
2576
            std::is_base_of_v<forward_iterator_tag, iterator_category_t<I>> &&
2577
            incrementable<I> && sentinel_for<I, I>,
2578
        std::true_type>;
2579
};
2580
2581
}  // namespace detail
2582
2583
template <typename I>
2584
inline constexpr bool forward_iterator =
2585
    decltype(detail::forward_iterator_concept::test<I>(0))::value;
2586
2587
namespace detail {
2588
2589
struct bidirectional_iterator_concept {
2590
    template <typename I>
2591
    auto requires_(I i)
2592
        -> decltype(requires_expr<std::is_same_v<decltype(--i), I&>>{},
2593
                    requires_expr<std::is_same_v<decltype(i--), I>>{});
2594
2595
    template <typename>
2596
    static auto test(long) -> std::false_type;
2597
2598
    template <typename I>
2599
    static auto test(int) -> std::enable_if_t<
2600
        forward_iterator<I> &&
2601
            std::is_base_of_v<bidirectional_iterator_tag,
2602
                              iterator_category_t<I>> &&
2603
            detail::requires_<bidirectional_iterator_concept, I>,
2604
        std::true_type>;
2605
};
2606
2607
}  // namespace detail
2608
2609
template <typename I>
2610
inline constexpr bool bidirectional_iterator =
2611
    decltype(detail::bidirectional_iterator_concept::test<I>(0))::value;
2612
2613
namespace detail {
2614
2615
struct random_access_iterator_concept {
2616
    template <typename>
2617
    static auto test(long) -> std::false_type;
2618
2619
    template <typename I>
2620
    static auto test(int) -> std::enable_if_t<
2621
        bidirectional_iterator<I> &&
2622
            std::is_base_of_v<random_access_iterator_tag,
2623
                              iterator_category_t<I>> &&
2624
            totally_ordered<I> && sized_sentinel_for<I, I> &&
2625
            detail::requires_<random_access_iterator_concept, I>,
2626
        std::true_type>;
2627
2628
    template <typename I>
2629
    auto requires_(I i, const I j, const iter_difference_t<I> n)
2630
        -> decltype(requires_expr<std::is_same_v<decltype(i += n), I&>>{},
2631
                    requires_expr<std::is_same_v<decltype(j + n), I>>{},
2632
#ifndef _MSC_VER
2633
                    requires_expr<std::is_same_v<decltype(n + j),
2634
                                                 I>>{},  // FIXME: MSVC doesn't
2635
                                                         // like this when I =
2636
                                                         // int*
2637
#endif
2638
                    requires_expr<std::is_same_v<decltype(i -= n), I&>>{},
2639
                    requires_expr<std::is_same_v<decltype(j - n), I>>{},
2640
                    requires_expr<
2641
                        std::is_same_v<decltype(j[n]), iter_reference_t<I>>>{});
2642
};
2643
2644
}  // namespace detail
2645
2646
template <typename I>
2647
inline constexpr bool random_access_iterator =
2648
    decltype(detail::random_access_iterator_concept::test<I>(0))::value;
2649
2650
namespace detail {
2651
2652
struct contiguous_iterator_concept {
2653
    template <typename>
2654
    static auto test(long) -> std::false_type;
2655
2656
    template <typename I>
2657
    static auto test(int) -> std::enable_if_t<
2658
        random_access_iterator<I> &&
2659
            /*std::is_base_of_v<contiguous_iterator_tag,
2660
                              iterator_category_t<I>> &&*/
2661
            detail::can_make_address_from_iterator<I> &&
2662
            std::is_lvalue_reference_v<iter_reference_t<I>> &&
2663
            std::is_same_v<iter_value_t<I>,
2664
                           remove_cvref_t<iter_reference_t<I>>>,
2665
        std::true_type>;
2666
};
2667
2668
}  // namespace detail
2669
2670
template <typename I>
2671
inline constexpr bool contiguous_iterator =
2672
    decltype(detail::contiguous_iterator_concept::test<I>(0))::value;
2673
2674
namespace detail::begin_ {
2675
2676
template <typename T>
2677
void begin(T&) = delete;
2678
template <typename T>
2679
void begin(const T&) = delete;
2680
2681
struct fn {
2682
private:
2683
    template <typename T,
2684
              std::enable_if_t<!std::is_lvalue_reference_v<T> &&
2685
                               !enable_borrowed_range<std::remove_cv_t<T>>>* =
2686
                  nullptr>
2687
    static constexpr void impl(T&&, priority_tag<3>) = delete;
2688
2689
    template <typename T,
2690
              std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr>
2691
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept
2692
        -> decltype(t + 0)
2693
    {
2694
        static_assert(ranges::input_or_output_iterator<decltype(t + 0)>);
2695
        return t + 0;
2696
    }
2697
2698
    template <typename T>
2699
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2700
        noexcept(decay_copy(SCN_FWD(t).begin())))
2701
        -> std::enable_if_t<
2702
            input_or_output_iterator<decltype(decay_copy(SCN_FWD(t).begin()))>,
2703
            decltype(decay_copy(SCN_FWD(t).begin()))>
2704
71.8M
    {
2705
71.8M
        return decay_copy(t.begin());
2706
71.8M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
449k
    {
2705
449k
        return decay_copy(t.begin());
2706
449k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
10.7M
    {
2705
10.7M
        return decay_copy(t.begin());
2706
10.7M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
26.5M
    {
2705
26.5M
        return decay_copy(t.begin());
2706
26.5M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<std::__1::deque<char, std::__1::allocator<char> > const&>(std::__1::deque<char, std::__1::allocator<char> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
423k
    {
2705
423k
        return decay_copy(t.begin());
2706
423k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
10.8M
    {
2705
10.8M
        return decay_copy(t.begin());
2706
10.8M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
5.22M
    {
2705
5.22M
        return decay_copy(t.begin());
2706
5.22M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
891k
    {
2705
891k
        return decay_copy(t.begin());
2706
891k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
4.67M
    {
2705
4.67M
        return decay_copy(t.begin());
2706
4.67M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
4.55M
    {
2705
4.55M
        return decay_copy(t.begin());
2706
4.55M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&>(std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
846k
    {
2705
846k
        return decay_copy(t.begin());
2706
846k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
2.91M
    {
2705
2.91M
        return decay_copy(t.begin());
2706
2.91M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
1.03M
    {
2705
1.03M
        return decay_copy(t.begin());
2706
1.03M
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
3.48k
    {
2705
3.48k
        return decay_copy(t.begin());
2706
3.48k
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
2.25M
    {
2705
2.25M
        return decay_copy(t.begin());
2706
2.25M
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
502
    {
2705
502
        return decay_copy(t.begin());
2706
502
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
582
    {
2705
582
        return decay_copy(t.begin());
2706
582
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
404k
    {
2705
404k
        return decay_copy(t.begin());
2706
404k
    }
std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&>(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2704
252
    {
2705
252
        return decay_copy(t.begin());
2706
252
    }
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<input_or_output_iterator<decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).begin)()))>::type scn::v3::ranges::detail::begin_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v3::detail::priority_tag<1ul>)
2707
2708
    template <typename T>
2709
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
2710
        noexcept(decay_copy(begin(SCN_FWD(t)))))
2711
        -> std::enable_if_t<
2712
            input_or_output_iterator<decltype(decay_copy(begin(SCN_FWD(t))))>,
2713
            decltype(decay_copy(begin(SCN_FWD(t))))>
2714
    {
2715
        return decay_copy(begin(SCN_FWD(t)));
2716
    }
2717
2718
public:
2719
    template <typename T>
2720
    constexpr auto operator()(T&& t) const
2721
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{})))
2722
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{}))
2723
71.8M
    {
2724
71.8M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
71.8M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
449k
    {
2724
449k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
449k
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
10.7M
    {
2724
10.7M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
10.7M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
26.5M
    {
2724
26.5M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
26.5M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNSt3__15dequeIcNS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
423k
    {
2724
423k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
423k
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
10.8M
    {
2724
10.8M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
10.8M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
5.22M
    {
2724
5.22M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
5.22M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
891k
    {
2724
891k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
891k
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
4.67M
    {
2724
4.67M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
4.67M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
4.55M
    {
2724
4.55M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
4.55M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNSt3__15dequeIwNS6_9allocatorIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
846k
    {
2724
846k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
846k
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
2.91M
    {
2724
2.91M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
2.91M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
1.03M
    {
2724
1.03M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
1.03M
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
3.48k
    {
2724
3.48k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
3.48k
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
2.25M
    {
2724
2.25M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
2.25M
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
502
    {
2724
502
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
502
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
582
    {
2724
582
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
582
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEENS8_15take_width_viewINS7_ISE_SF_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS8_12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
404k
    {
2724
404k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
404k
    }
_ZNK3scn2v36ranges6detail6begin_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EENS8_15take_width_viewINS7_ISC_SC_EEE8sentinelILb1EEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2723
252
    {
2724
252
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2725
252
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6begin_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
2726
};
2727
2728
}  // namespace detail::begin_
2729
2730
inline constexpr auto begin = detail::begin_::fn{};
2731
2732
namespace detail::end_ {
2733
2734
template <typename T>
2735
void end(T&) = delete;
2736
template <typename T>
2737
void end(const T&) = delete;
2738
2739
struct fn {
2740
private:
2741
    template <typename T,
2742
              std::enable_if_t<!std::is_lvalue_reference_v<T> &&
2743
                               !enable_borrowed_range<std::remove_cv_t<T>>>* =
2744
                  nullptr>
2745
    static constexpr void impl(T&&, priority_tag<3>) = delete;
2746
2747
    template <typename T,
2748
              std::enable_if_t<std::is_array_v<remove_cvref_t<T>>>* = nullptr>
2749
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept
2750
        -> decltype(t + std::extent_v<remove_cvref_t<T>>)
2751
    {
2752
        return t + std::extent_v<remove_cvref_t<T>>;
2753
    }
2754
2755
    template <typename T,
2756
              typename S = decltype(decay_copy(SCN_DECLVAL(T).end())),
2757
              typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))>
2758
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2759
        noexcept(decay_copy(SCN_FWD(t).end())))
2760
        -> std::enable_if_t<sentinel_for<S, I>,
2761
                            decltype(decay_copy(SCN_FWD(t).end()))>
2762
597M
    {
2763
597M
        return decay_copy(SCN_FWD(t).end());
2764
597M
    }
std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char const*, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2762
11.2M
    {
2763
11.2M
        return decay_copy(SCN_FWD(t).end());
2764
11.2M
    }
std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, char const*, char const*>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2762
5.18M
    {
2763
5.18M
        return decay_copy(SCN_FWD(t).end());
2764
5.18M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<std::__1::deque<char, std::__1::allocator<char> > const&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(std::__1::deque<char, std::__1::allocator<char> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2762
11.2M
    {
2763
11.2M
        return decay_copy(SCN_FWD(t).end());
2764
11.2M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2762
167M
    {
2763
167M
        return decay_copy(SCN_FWD(t).end());
2764
167M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2762
5.22M
    {
2763
5.22M
        return decay_copy(SCN_FWD(t).end());
2764
5.22M
    }
std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t const*, wchar_t const*>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2762
5.56M
    {
2763
5.56M
        return decay_copy(SCN_FWD(t).end());
2764
5.56M
    }
std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, wchar_t const*, wchar_t const*>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2762
1.90M
    {
2763
1.90M
        return decay_copy(SCN_FWD(t).end());
2764
1.90M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(std::__1::deque<wchar_t, std::__1::allocator<wchar_t> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2762
3.75M
    {
2763
3.75M
        return decay_copy(SCN_FWD(t).end());
2764
3.75M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2762
384M
    {
2763
384M
        return decay_copy(SCN_FWD(t).end());
2764
384M
    }
std::__1::enable_if<sentinel_for<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2762
1.03M
    {
2763
1.03M
        return decay_copy(SCN_FWD(t).end());
2764
1.03M
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<char const*, char const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, char const*, char const*>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<wchar_t const*, wchar_t const*>, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, wchar_t const*, wchar_t const*>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2762
3.48k
    {
2763
3.48k
        return decay_copy(SCN_FWD(t).end());
2764
3.48k
    }
Unexecuted instantiation: std::__1::enable_if<sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >&, scn::v3::detail::priority_tag<1ul>)
std::__1::enable_if<sentinel_for<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, decltype (decay_copy(((static_cast<decltype ({parm#1})>({parm#1})).end)()))>::type scn::v3::ranges::detail::end_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2762
582
    {
2763
582
        return decay_copy(SCN_FWD(t).end());
2764
582
    }
2765
2766
    template <typename T,
2767
              typename S = decltype(decay_copy(end(SCN_DECLVAL(T)))),
2768
              typename I = decltype(::scn::ranges::begin(SCN_DECLVAL(T)))>
2769
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept(
2770
        decay_copy(end(SCN_FWD(t))))) -> std::enable_if_t<sentinel_for<S, I>, S>
2771
    {
2772
        return decay_copy(end(SCN_FWD(t)));
2773
    }
2774
2775
public:
2776
    template <typename T>
2777
    constexpr auto operator()(T&& t) const
2778
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<3>{})))
2779
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<3>{}))
2780
597M
    {
2781
597M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
597M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2780
11.2M
    {
2781
11.2M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
11.2M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2780
5.18M
    {
2781
5.18M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
5.18M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRKNSt3__15dequeIcNS6_9allocatorIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2780
11.2M
    {
2781
11.2M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
11.2M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2780
167M
    {
2781
167M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
167M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2780
5.22M
    {
2781
5.22M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
5.22M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2780
5.56M
    {
2781
5.56M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
5.56M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2780
1.90M
    {
2781
1.90M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
1.90M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRKNSt3__15dequeIwNS6_9allocatorIwEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2780
3.75M
    {
2781
3.75M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
3.75M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2780
384M
    {
2781
384M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
384M
    }
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2780
1.03M
    {
2781
1.03M
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
1.03M
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail4end_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKcSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2780
3.48k
    {
2781
3.48k
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
3.48k
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS1_18default_sentinel_tEEESG_EEEEDTclsr2fnE4implscDtfp_Efp_tlNSB_12priority_tagILm3EEEEEEOT_
_ZNK3scn2v36ranges6detail4end_2fnclIRNS2_9subrange_8subrangeINS0_4impl27counted_width_iterator_impl22counted_width_iteratorIPKwSC_EESD_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm3EEEEEEOT_
Line
Count
Source
2780
582
    {
2781
582
        return fn::impl(SCN_FWD(t), priority_tag<3>{});
2782
582
    }
2783
};
2784
2785
}  // namespace detail::end_
2786
2787
inline constexpr auto end = detail::end_::fn{};
2788
2789
namespace detail {
2790
struct range_concept {
2791
    template <typename T>
2792
    auto requires_(T& t) -> decltype(ranges::begin(t), ranges::end(t));
2793
};
2794
}  // namespace detail
2795
2796
template <typename T>
2797
inline constexpr bool range = detail::requires_<detail::range_concept, T>;
2798
2799
template <typename T>
2800
using iterator_t = decltype(ranges::begin(std::declval<T&>()));
2801
2802
template <typename R>
2803
using sentinel_t =
2804
    std::enable_if_t<range<R>, decltype(ranges::end(std::declval<R&>()))>;
2805
2806
template <typename R>
2807
using range_difference_t =
2808
    std::enable_if_t<range<R>, iter_difference_t<iterator_t<R>>>;
2809
2810
template <typename R>
2811
using range_value_t = std::enable_if_t<range<R>, iter_value_t<iterator_t<R>>>;
2812
2813
template <typename R>
2814
using range_reference_t =
2815
    std::enable_if_t<range<R>, iter_reference_t<iterator_t<R>>>;
2816
2817
namespace detail {
2818
template <typename, typename = void>
2819
inline constexpr bool is_object_pointer_v = false;
2820
template <typename P>
2821
inline constexpr bool
2822
    is_object_pointer_v<P,
2823
                        std::enable_if_t<std::is_pointer_v<P> &&
2824
                                         std::is_object_v<iter_value_t<P>>>> =
2825
        true;
2826
2827
namespace data_ {
2828
2829
struct fn {
2830
private:
2831
    template <typename T,
2832
              typename D = decltype(decay_copy(SCN_DECLVAL(T&).data()))>
2833
    static constexpr auto impl(T& t, priority_tag<1>) noexcept(noexcept(
2834
        decay_copy(t.data()))) -> std::enable_if_t<is_object_pointer_v<D>, D>
2835
24.2M
    {
2836
24.2M
        return t.data();
2837
24.2M
    }
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const, char const*>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2835
5.62M
    {
2836
5.62M
        return t.data();
2837
5.62M
    }
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const, wchar_t const*>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2835
2.77M
    {
2836
2.77M
        return t.data();
2837
2.77M
    }
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2835
10.6M
    {
2836
10.6M
        return t.data();
2837
10.6M
    }
std::__1::enable_if<is_object_pointer_v<wchar_t const*>, wchar_t const*>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2835
2.41M
    {
2836
2.41M
        return t.data();
2837
2.41M
    }
std::__1::enable_if<is_object_pointer_v<char const*>, char const*>::type scn::v3::ranges::detail::data_::fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char const*>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&, scn::v3::detail::priority_tag<1ul>)
Line
Count
Source
2835
2.77M
    {
2836
2.77M
        return t.data();
2837
2.77M
    }
2838
2839
    template <typename T>
2840
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
2841
        noexcept(scn::ranges::begin(SCN_FWD(t))))
2842
        -> std::enable_if_t<
2843
            is_object_pointer_v<decltype(scn::ranges::begin(SCN_FWD(t)))>,
2844
            decltype(scn::ranges::begin(SCN_FWD(t)))>
2845
0
    {
2846
0
        return scn::ranges::begin(SCN_FWD(t));
2847
0
    }
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<decltype (scn::v3::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v3::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&, scn::v3::detail::priority_tag<0ul>)
Unexecuted instantiation: std::__1::enable_if<is_object_pointer_v<decltype (scn::v3::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>, decltype (scn::v3::ranges::begin(static_cast<decltype ({parm#1})>({parm#1})))>::type scn::v3::ranges::detail::data_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&, scn::v3::detail::priority_tag<0ul>)
2848
2849
public:
2850
    template <typename T>
2851
    constexpr auto operator()(T&& t) const
2852
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<1>{})))
2853
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<1>{}))
2854
24.2M
    {
2855
24.2M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
2856
24.2M
    }
_ZNK3scn2v36ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2854
5.62M
    {
2855
5.62M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
2856
5.62M
    }
_ZNK3scn2v36ranges6detail5data_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2854
2.77M
    {
2855
2.77M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
2856
2.77M
    }
_ZNK3scn2v36ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2854
10.6M
    {
2855
10.6M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
2856
10.6M
    }
_ZNK3scn2v36ranges6detail5data_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2854
2.41M
    {
2855
2.41M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
2856
2.41M
    }
_ZNK3scn2v36ranges6detail5data_2fnclIRNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Line
Count
Source
2854
2.77M
    {
2855
2.77M
        return fn::impl(SCN_FWD(t), priority_tag<1>{});
2856
2.77M
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail5data_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm1EEEEEEOT_
2857
};
2858
2859
}  // namespace data_
2860
}  // namespace detail
2861
2862
inline constexpr auto data = detail::data_::fn{};
2863
2864
template <typename T>
2865
inline constexpr bool disable_sized_range = false;
2866
2867
namespace detail::size_ {
2868
2869
template <typename T>
2870
void size(T&&) = delete;
2871
template <typename T>
2872
void size(T&) = delete;
2873
2874
struct fn {
2875
private:
2876
    template <typename T, std::size_t N>
2877
    static constexpr std::size_t impl(const T (&&)[N], priority_tag<3>) noexcept
2878
    {
2879
        return N;
2880
    }
2881
2882
    template <typename T, std::size_t N>
2883
    static constexpr std::size_t impl(const T (&)[N], priority_tag<3>) noexcept
2884
    {
2885
        return N;
2886
    }
2887
2888
    template <typename T,
2889
              typename I = decltype(decay_copy(std::declval<T>().size()))>
2890
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept(
2891
        noexcept(decay_copy(SCN_FWD(t).size())))
2892
        -> std::enable_if_t<std::is_integral_v<I> &&
2893
                                !disable_sized_range<remove_cvref_t<T>>,
2894
                            I>
2895
15.2M
    {
2896
15.2M
        return decay_copy(SCN_FWD(t).size());
2897
15.2M
    }
_ZN3scn2v36ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
2895
5.62M
    {
2896
5.62M
        return decay_copy(SCN_FWD(t).size());
2897
5.62M
    }
_ZN3scn2v36ranges6detail5size_2fn4implIRKNS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
2895
2.77M
    {
2896
2.77M
        return decay_copy(SCN_FWD(t).size());
2897
2.77M
    }
_ZN3scn2v36ranges6detail5size_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESF_E4typeEOSG_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
2895
6.24M
    {
2896
6.24M
        return decay_copy(SCN_FWD(t).size());
2897
6.24M
    }
_ZN3scn2v36ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
2895
52
    {
2896
52
        return decay_copy(SCN_FWD(t).size());
2897
52
    }
_ZN3scn2v36ranges6detail5size_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESG_E4typeEOSH_NS0_6detail12priority_tagILm2EEE
Line
Count
Source
2895
610k
    {
2896
610k
        return decay_copy(SCN_FWD(t).size());
2897
610k
    }
Unexecuted instantiation: _ZN3scn2v36ranges6detail5size_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEmEENS6_9enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESE_E4typeEOSF_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v36ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKcS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
Unexecuted instantiation: _ZN3scn2v36ranges6detail5size_2fn4implINS2_9subrange_8subrangeIPKwS9_EEmEENSt3__19enable_ifIXaasr3stdE13is_integral_vIT0_Ent19disable_sized_rangeIu11__remove_cvIu20__remove_reference_tIT_EEEESD_E4typeEOSE_NS0_6detail12priority_tagILm2EEE
2898
2899
    template <typename T,
2900
              typename I = decltype(decay_copy(size(std::declval<T>())))>
2901
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2902
        noexcept(decay_copy(size(SCN_FWD(t)))))
2903
        -> std::enable_if_t<std::is_integral_v<I> &&
2904
                                !disable_sized_range<remove_cvref_t<T>>,
2905
                            I>
2906
    {
2907
        return decay_copy(size(SCN_FWD(t)));
2908
    }
2909
2910
    template <typename T,
2911
              typename I = decltype(scn::ranges::begin(SCN_DECLVAL(T))),
2912
              typename S = decltype(scn::ranges::end(SCN_DECLVAL(T))),
2913
              typename D = decltype(static_cast<std::size_t>(SCN_DECLVAL(S) -
2914
                                                             SCN_DECLVAL(I)))>
2915
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(noexcept(
2916
        static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t))))
2917
        -> std::enable_if_t<!std::is_array_v<remove_cvref_t<T>> &&
2918
                                sized_sentinel_for<S, I> && forward_iterator<I>,
2919
                            D>
2920
    {
2921
        return static_cast<size_t>(scn::ranges::end(t) - scn::ranges::begin(t));
2922
    }
2923
2924
public:
2925
    template <typename T>
2926
    constexpr auto operator()(T&& t) const
2927
        noexcept(noexcept(fn::impl(std::forward<T>(t), priority_tag<3>{})))
2928
            -> decltype(fn::impl(std::forward<T>(t), priority_tag<3>{}))
2929
15.2M
    {
2930
15.2M
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
2931
15.2M
    }
_ZNK3scn2v36ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
2929
5.62M
    {
2930
5.62M
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
2931
5.62M
    }
_ZNK3scn2v36ranges6detail5size_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
2929
2.77M
    {
2930
2.77M
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
2931
2.77M
    }
_ZNK3scn2v36ranges6detail5size_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSE_
Line
Count
Source
2929
6.24M
    {
2930
6.24M
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
2931
6.24M
    }
_ZNK3scn2v36ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Line
Count
Source
2929
52
    {
2930
52
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
2931
52
    }
_ZNK3scn2v36ranges6detail5size_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSF_
Line
Count
Source
2929
610k
    {
2930
610k
        return fn::impl(std::forward<T>(t), priority_tag<3>{});
2931
610k
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail5size_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSD_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_
Unexecuted instantiation: _ZNK3scn2v36ranges6detail5size_2fnclINS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EtlNS0_6detail12priority_tagILm3EEEEEEOSB_
2932
};
2933
2934
}  // namespace detail::size_
2935
2936
inline constexpr auto size = detail::size_::fn{};
2937
2938
namespace detail {
2939
namespace ssize_ {
2940
struct fn {
2941
private:
2942
    template <typename T>
2943
    using ssize_return_t = std::conditional_t<sizeof(range_difference_t<T>) <
2944
                                                  sizeof(std::ptrdiff_t),
2945
                                              std::ptrdiff_t,
2946
                                              range_difference_t<T>>;
2947
2948
    template <typename T>
2949
    static constexpr auto impl(T&& t) noexcept(
2950
        noexcept(ranges::size(std::forward<T>(t))))
2951
        -> decltype(ranges::size(std::forward<T>(t)), ssize_return_t<T>())
2952
6.85M
    {
2953
6.85M
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
2954
6.85M
    }
_ZN3scn2v36ranges6detail6ssize_2fn4implIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISE_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSE_EEEEE15difference_typeEE4typeELm8EElSN_E4typeE_EEOSE_
Line
Count
Source
2952
6.24M
    {
2953
6.24M
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
2954
6.24M
    }
_ZN3scn2v36ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_
Line
Count
Source
2952
52
    {
2953
52
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
2954
52
    }
_ZN3scn2v36ranges6detail6ssize_2fn4implIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISF_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSF_EEEEE15difference_typeEE4typeELm8EElSO_E4typeE_EEOSF_
Line
Count
Source
2952
610k
    {
2953
610k
        return static_cast<ssize_return_t<T>>(ranges::size(std::forward<T>(t)));
2954
610k
    }
Unexecuted instantiation: _ZN3scn2v36ranges6detail6ssize_2fn4implIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTcmclL_ZNS1_4sizeEEclsr3stdE7forwardIT_Efp_EEcvNS6_11conditionalIXltstNS6_9enable_ifIX5rangeISD_EENS1_20incrementable_traitsIDTclL_ZNS1_5beginEEclsr3stdE7declvalIRSD_EEEEE15difference_typeEE4typeELm8EElSM_E4typeE_EEOSD_
2955
2956
public:
2957
    template <typename T>
2958
    constexpr auto operator()(T&& t) const
2959
        noexcept(noexcept(fn::impl(std::forward<T>(t))))
2960
            -> decltype(fn::impl(std::forward<T>(t)))
2961
6.85M
    {
2962
6.85M
        return fn::impl(std::forward<T>(t));
2963
6.85M
    }
_ZNK3scn2v36ranges6detail6ssize_2fnclIRNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSE_
Line
Count
Source
2961
6.24M
    {
2962
6.24M
        return fn::impl(std::forward<T>(t));
2963
6.24M
    }
_ZNK3scn2v36ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIcNS6_11char_traitsIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_
Line
Count
Source
2961
52
    {
2962
52
        return fn::impl(std::forward<T>(t));
2963
52
    }
_ZNK3scn2v36ranges6detail6ssize_2fnclIRKNSt3__112basic_stringIcNS6_11char_traitsIcEENS6_9allocatorIcEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSF_
Line
Count
Source
2961
610k
    {
2962
610k
        return fn::impl(std::forward<T>(t));
2963
610k
    }
Unexecuted instantiation: _ZNK3scn2v36ranges6detail6ssize_2fnclIRKNSt3__117basic_string_viewIwNS6_11char_traitsIwEEEEEEDTclsr2fnE4implclsr3stdE7forwardIT_Efp_EEEOSD_
2964
};
2965
}  // namespace ssize_
2966
}  // namespace detail
2967
2968
inline constexpr auto ssize = detail::ssize_::fn{};
2969
2970
namespace detail::empty_ {
2971
struct fn {
2972
private:
2973
    template <typename T>
2974
    static constexpr auto impl(T&& t, priority_tag<2>) noexcept(
2975
        noexcept(static_cast<bool>(SCN_FWD(t).empty())))
2976
        -> decltype(static_cast<bool>(SCN_FWD(t).empty()))
2977
31.4M
    {
2978
31.4M
        return static_cast<bool>(SCN_FWD(t).empty());
2979
31.4M
    }
decltype (static_cast<bool>(((static_cast<decltype ({parm#1})>({parm#1})).empty)())) scn::v3::ranges::detail::empty_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
2977
5.62M
    {
2978
5.62M
        return static_cast<bool>(SCN_FWD(t).empty());
2979
5.62M
    }
decltype (static_cast<bool>(((static_cast<decltype ({parm#1})>({parm#1})).empty)())) scn::v3::ranges::detail::empty_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
2977
2.77M
    {
2978
2.77M
        return static_cast<bool>(SCN_FWD(t).empty());
2979
2.77M
    }
decltype (static_cast<bool>(((static_cast<decltype ({parm#1})>({parm#1})).empty)())) scn::v3::ranges::detail::empty_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
2977
20.6M
    {
2978
20.6M
        return static_cast<bool>(SCN_FWD(t).empty());
2979
20.6M
    }
decltype (static_cast<bool>(((static_cast<decltype ({parm#1})>({parm#1})).empty)())) scn::v3::ranges::detail::empty_::fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
2977
2.45M
    {
2978
2.45M
        return static_cast<bool>(SCN_FWD(t).empty());
2979
2.45M
    }
2980
2981
    template <typename T>
2982
    static constexpr auto impl(T&& t, priority_tag<1>) noexcept(
2983
        noexcept(ranges::size(SCN_FWD(t)) == 0))
2984
        -> decltype(ranges::size(SCN_FWD(t)) == 0)
2985
    {
2986
        return ranges::size(SCN_FWD(t)) == 0;
2987
    }
2988
2989
    template <typename T,
2990
              typename I = decltype(ranges::begin(std::declval<T>()))>
2991
    static constexpr auto impl(T&& t, priority_tag<0>) noexcept(
2992
        noexcept(ranges::begin(t) == ranges::end(t)))
2993
        -> std::enable_if_t<forward_iterator<I>,
2994
                            decltype(ranges::begin(t) == ranges::end(t))>
2995
    {
2996
        return ranges::begin(t) == ranges::end(t);
2997
    }
2998
2999
public:
3000
    template <typename T>
3001
    constexpr auto operator()(T&& t) const
3002
        noexcept(noexcept(fn::impl(SCN_FWD(t), priority_tag<2>{})))
3003
            -> decltype(fn::impl(SCN_FWD(t), priority_tag<2>{}))
3004
31.4M
    {
3005
31.4M
        return fn::impl(SCN_FWD(t), priority_tag<2>{});
3006
31.4M
    }
_ZNK3scn2v36ranges6detail6empty_2fnclIRKNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm2EEEEEEOT_
Line
Count
Source
3004
5.62M
    {
3005
5.62M
        return fn::impl(SCN_FWD(t), priority_tag<2>{});
3006
5.62M
    }
_ZNK3scn2v36ranges6detail6empty_2fnclIRKNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm2EEEEEEOT_
Line
Count
Source
3004
2.77M
    {
3005
2.77M
        return fn::impl(SCN_FWD(t), priority_tag<2>{});
3006
2.77M
    }
_ZNK3scn2v36ranges6detail6empty_2fnclIRNS2_9subrange_8subrangeIPKcS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm2EEEEEEOT_
Line
Count
Source
3004
20.6M
    {
3005
20.6M
        return fn::impl(SCN_FWD(t), priority_tag<2>{});
3006
20.6M
    }
_ZNK3scn2v36ranges6detail6empty_2fnclIRNS2_9subrange_8subrangeIPKwS9_EEEEDTclsr2fnE4implscDtfp_Efp_tlNS0_6detail12priority_tagILm2EEEEEEOT_
Line
Count
Source
3004
2.45M
    {
3005
2.45M
        return fn::impl(SCN_FWD(t), priority_tag<2>{});
3006
2.45M
    }
3007
};
3008
}  // namespace detail::empty_
3009
3010
inline constexpr auto empty = detail::empty_::fn{};
3011
3012
template <typename T>
3013
inline constexpr bool borrowed_range =
3014
    range<T> && (std::is_lvalue_reference_v<T> ||
3015
                 enable_borrowed_range<detail::remove_cvref_t<T>>);
3016
3017
namespace detail {
3018
struct sized_range_concept {
3019
    template <typename T>
3020
    auto requires_(T& t) -> decltype(ranges::size(t));
3021
};
3022
}  // namespace detail
3023
3024
template <typename T>
3025
inline constexpr bool sized_range =
3026
    range<T> && !disable_sized_range<detail::remove_cvref_t<T>> &&
3027
    detail::requires_<detail::sized_range_concept, T>;
3028
3029
namespace detail {
3030
struct output_range_concept {
3031
    template <typename, typename>
3032
    static auto test(long) -> std::false_type;
3033
3034
    template <typename R, typename T>
3035
    static auto test(int)
3036
        -> std::enable_if_t<range<R> && output_iterator<iterator_t<R>, T>,
3037
                            std::true_type>;
3038
};
3039
}  // namespace detail
3040
3041
template <typename R, typename T>
3042
inline constexpr bool output_range =
3043
    decltype(detail::output_range_concept::test<R, T>(0))::value;
3044
3045
namespace detail {
3046
struct input_range_concept {
3047
    template <typename>
3048
    static auto test(long) -> std::false_type;
3049
3050
    template <typename T>
3051
    static auto test(int)
3052
        -> std::enable_if_t<range<T> && input_iterator<iterator_t<T>>,
3053
                            std::true_type>;
3054
};
3055
}  // namespace detail
3056
3057
template <typename T>
3058
inline constexpr bool input_range =
3059
    decltype(detail::input_range_concept::test<T>(0))::value;
3060
3061
namespace detail {
3062
struct forward_range_concept {
3063
    template <typename>
3064
    static auto test(long) -> std::false_type;
3065
3066
    template <typename T>
3067
    static auto test(int)
3068
        -> std::enable_if_t<input_range<T> && forward_iterator<iterator_t<T>>,
3069
                            std::true_type>;
3070
};
3071
}  // namespace detail
3072
3073
template <typename T>
3074
inline constexpr bool forward_range =
3075
    decltype(detail::forward_range_concept::test<T>(0))::value;
3076
3077
namespace detail {
3078
struct bidirectional_range_concept {
3079
    template <typename>
3080
    static auto test(long) -> std::false_type;
3081
3082
    template <typename T>
3083
    static auto test(int)
3084
        -> std::enable_if_t<forward_range<T> &&
3085
                                bidirectional_iterator<iterator_t<T>>,
3086
                            std::true_type>;
3087
};
3088
}  // namespace detail
3089
3090
template <typename T>
3091
inline constexpr bool bidirectional_range =
3092
    decltype(detail::bidirectional_range_concept::test<T>(0))::value;
3093
3094
namespace detail {
3095
struct random_access_range_concept {
3096
    template <typename>
3097
    static auto test(long) -> std::false_type;
3098
3099
    template <typename T>
3100
    static auto test(int)
3101
        -> std::enable_if_t<bidirectional_range<T> &&
3102
                                random_access_iterator<iterator_t<T>>,
3103
                            std::true_type>;
3104
};
3105
}  // namespace detail
3106
3107
template <typename T>
3108
inline constexpr bool random_access_range =
3109
    decltype(detail::random_access_range_concept::test<T>(0))::value;
3110
3111
namespace detail {
3112
// FIXME: Not to spec
3113
// We only require random_access_iterator, not contiguous_iterator
3114
// This is so that vector::iterator, string::iterator etc can model
3115
// contiguous_range.
3116
// If we do range-v3-style deep integration with iterator_traits then
3117
// this could be fixed
3118
struct contiguous_range_concept {
3119
    template <typename>
3120
    static auto test(long) -> std::false_type;
3121
3122
    template <typename T>
3123
    static auto test(int) -> std::enable_if_t<
3124
        random_access_range<T> && /* contiguous_iterator<iterator_t<T>>
3125
                                   * &&
3126
                                   */
3127
            detail::requires_<contiguous_range_concept, T>,
3128
        std::true_type>;
3129
3130
    template <typename T>
3131
    auto requires_(T& t)
3132
        -> decltype(requires_expr<std::is_same_v<
3133
                        decltype(ranges::data(t)),
3134
                        std::add_pointer_t<range_reference_t<T>>>>{});
3135
};
3136
}  // namespace detail
3137
3138
template <typename R>
3139
inline constexpr bool contiguous_range =
3140
    decltype(detail::contiguous_range_concept::test<R>(0))::value;
3141
3142
namespace detail {
3143
struct common_range_concept {
3144
    template <typename>
3145
    static auto test(long) -> std::false_type;
3146
3147
    template <typename T>
3148
    static auto test(int)
3149
        -> std::enable_if_t<range<T> &&
3150
                                std::is_same_v<iterator_t<T>, sentinel_t<T>>,
3151
                            std::true_type>;
3152
};
3153
}  // namespace detail
3154
3155
template <typename T>
3156
inline constexpr bool common_range =
3157
    decltype(detail::common_range_concept::test<T>(0))::value;
3158
3159
struct dangling {
3160
    constexpr dangling() noexcept = default;
3161
3162
    template <typename... Args>
3163
    constexpr dangling(Args&&...) noexcept
3164
    {
3165
    }
3166
};
3167
3168
template <typename R>
3169
using borrowed_iterator_t =
3170
    std::conditional_t<borrowed_range<R>, iterator_t<R>, dangling>;
3171
3172
template <typename D>
3173
class view_interface {
3174
    static_assert(std::is_class<D>::value, "");
3175
    static_assert(std::is_same_v<D, std::remove_cv_t<D>>, "");
3176
3177
private:
3178
    constexpr D& derived() noexcept
3179
46.1M
    {
3180
46.1M
        return static_cast<D&>(*this);
3181
46.1M
    }
scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::derived()
Line
Count
Source
3179
41.2M
    {
3180
41.2M
        return static_cast<D&>(*this);
3181
41.2M
    }
scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived()
Line
Count
Source
3179
4.89M
    {
3180
4.89M
        return static_cast<D&>(*this);
3181
4.89M
    }
3182
3183
    constexpr const D& derived() const noexcept
3184
16.7M
    {
3185
16.7M
        return static_cast<const D&>(*this);
3186
16.7M
    }
scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::derived() const
Line
Count
Source
3184
11.2M
    {
3185
11.2M
        return static_cast<const D&>(*this);
3186
11.2M
    }
scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::derived() const
Line
Count
Source
3184
5.54M
    {
3185
5.54M
        return static_cast<const D&>(*this);
3186
5.54M
    }
3187
3188
public:
3189
    template <typename R = D>
3190
    [[nodiscard]] constexpr auto empty()
3191
        -> std::enable_if_t<forward_range<R>, bool>
3192
    {
3193
        return ranges::begin(derived()) == ranges::end(derived());
3194
    }
3195
3196
    template <typename R = D>
3197
    [[nodiscard]] constexpr auto empty() const
3198
        -> std::enable_if_t<forward_range<const R>, bool>
3199
    {
3200
        return ranges::begin(derived()) == ranges::end(derived());
3201
    }
3202
3203
    template <typename R = D,
3204
              typename = decltype(ranges::empty(std::declval<R&>()))>
3205
    constexpr explicit operator bool()
3206
    {
3207
        return !ranges::empty(derived());
3208
    }
3209
3210
    template <typename R = D,
3211
              typename = decltype(ranges::empty(std::declval<const R&>()))>
3212
    constexpr explicit operator bool() const
3213
    {
3214
        return !ranges::empty(derived());
3215
    }
3216
3217
    template <typename R = D,
3218
              typename = std::enable_if_t<contiguous_iterator<iterator_t<R>>>>
3219
    constexpr auto data()
3220
23.0M
    {
3221
23.0M
        return ranges::empty(derived())
3222
23.0M
                   ? nullptr
3223
23.0M
                   : std::addressof(*ranges::begin(derived()));
3224
23.0M
    }
auto scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>()
Line
Count
Source
3220
20.6M
    {
3221
20.6M
        return ranges::empty(derived())
3222
20.6M
                   ? nullptr
3223
20.6M
                   : std::addressof(*ranges::begin(derived()));
3224
20.6M
    }
auto scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>()
Line
Count
Source
3220
2.45M
    {
3221
2.45M
        return ranges::empty(derived())
3222
2.45M
                   ? nullptr
3223
2.45M
                   : std::addressof(*ranges::begin(derived()));
3224
2.45M
    }
3225
3226
    template <typename R = D,
3227
              typename = std::enable_if_t<
3228
                  range<const R> && contiguous_iterator<iterator_t<const R>>>>
3229
    constexpr auto data() const
3230
8.40M
    {
3231
8.40M
        return ranges::empty(derived())
3232
8.40M
                   ? nullptr
3233
8.40M
                   : std::addressof(*ranges::begin(derived()));
3234
8.40M
    }
auto scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::data<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>() const
Line
Count
Source
3230
5.62M
    {
3231
5.62M
        return ranges::empty(derived())
3232
5.62M
                   ? nullptr
3233
5.62M
                   : std::addressof(*ranges::begin(derived()));
3234
5.62M
    }
auto scn::v3::ranges::view_interface<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::data<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>() const
Line
Count
Source
3230
2.77M
    {
3231
2.77M
        return ranges::empty(derived())
3232
2.77M
                   ? nullptr
3233
2.77M
                   : std::addressof(*ranges::begin(derived()));
3234
2.77M
    }
3235
3236
    template <typename R = D,
3237
              typename = std::enable_if_t<
3238
                  forward_range<R> &&
3239
                  sized_sentinel_for<sentinel_t<R>, iterator_t<R>>>>
3240
    constexpr auto size()
3241
    {
3242
        return ranges::end(derived()) - ranges::begin(derived());
3243
    }
3244
3245
    template <typename R = D,
3246
              typename = std::enable_if_t<
3247
                  forward_range<const R> &&
3248
                  sized_sentinel_for<sentinel_t<const R>, iterator_t<const R>>>>
3249
    constexpr auto size() const
3250
    {
3251
        return ranges::end(derived()) - ranges::begin(derived());
3252
    }
3253
3254
#if 0
3255
    template <typename R = D, typename = std::enable_if_t<forward_range<R>>>
3256
    constexpr decltype(auto) front()
3257
    {
3258
        return *ranges::begin(derived());
3259
    }
3260
3261
    template <typename R = D,
3262
              typename = std::enable_if_t<forward_range<const R>>>
3263
    constexpr decltype(auto) front() const
3264
    {
3265
        return *ranges::begin(derived());
3266
    }
3267
3268
    template <
3269
        typename R = D,
3270
        typename = std::enable_if_t<bidirectional_range<R> && common_range<R>>>
3271
    constexpr decltype(auto) back()
3272
    {
3273
        return *ranges::prev(ranges::end(derived()));
3274
    }
3275
3276
    template <typename R = D,
3277
              typename = std::enable_if_t<bidirectional_range<const R> &&
3278
                                          common_range<const R>>>
3279
    constexpr decltype(auto) back() const
3280
    {
3281
        return *ranges::prev(ranges::end(derived()));
3282
    }
3283
3284
    template <typename R = D,
3285
              typename = std::enable_if_t<random_access_range<R>>>
3286
    constexpr decltype(auto) operator[](iter_difference_t<iterator_t<R>> n)
3287
    {
3288
        return ranges::begin(derived())[n];
3289
    }
3290
#endif
3291
3292
    template <typename R = D,
3293
              typename = std::enable_if_t<random_access_range<const R>>>
3294
    constexpr decltype(auto) operator[](
3295
        iter_difference_t<iterator_t<const R>> n) const
3296
    {
3297
        return ranges::begin(derived())[n];
3298
    }
3299
};
3300
3301
namespace detail::subrange_ {
3302
3303
template <typename I, typename S = I>
3304
class subrange : public view_interface<subrange<I, S>> {
3305
    static_assert(input_or_output_iterator<I>);
3306
    static_assert(sentinel_for<S, I>);
3307
3308
public:
3309
    subrange() = default;
3310
3311
    template <typename I_,
3312
              std::enable_if_t<std::is_convertible_v<I_, I>>* = nullptr>
3313
    constexpr subrange(I_ i, S s)
3314
        : m_iterator(SCN_MOVE(i)), m_sentinel(SCN_MOVE(s))
3315
252M
    {
3316
252M
    }
scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>::subrange<char const*, (void*)0>(char const*, char const*)
Line
Count
Source
3315
53.0M
    {
3316
53.0M
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, (void*)0>(std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>)
Line
Count
Source
3315
10.8M
    {
3316
10.8M
    }
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::subrange<wchar_t const*, (void*)0>(wchar_t const*, wchar_t const*)
Line
Count
Source
3315
82.2M
    {
3316
82.2M
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, (void*)0>(std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>)
Line
Count
Source
3315
2.91M
    {
3316
2.91M
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
3315
56.9M
    {
3316
56.9M
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
3315
40.5M
    {
3316
40.5M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, (void*)0>(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator)
Line
Count
Source
3315
4.65M
    {
3316
4.65M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true>)
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true>)
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>)
Line
Count
Source
3315
3.48k
    {
3316
3.48k
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true>)
Line
Count
Source
3315
267k
    {
3316
267k
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true>)
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true>)
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>)
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, (void*)0>(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator)
Line
Count
Source
3315
1.04M
    {
3316
1.04M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true>)
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true>)
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>)
Line
Count
Source
3315
582
    {
3316
582
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true>)
Line
Count
Source
3315
33.7k
    {
3316
33.7k
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true>)
Line
Count
Source
3315
9.00k
    {
3316
9.00k
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, (void*)0>(scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true>)
Line
Count
Source
3315
3.25k
    {
3316
3.25k
    }
3317
3318
    template <
3319
        typename R,
3320
        std::enable_if_t<is_not_self<R, subrange> && borrowed_range<R> &&
3321
                         std::is_convertible_v<iterator_t<R>, I> &&
3322
                         std::is_convertible_v<sentinel_t<R>, S>>* = nullptr>
3323
    constexpr subrange(R&& r)
3324
        : m_iterator(scn::ranges::begin(r)), m_sentinel(scn::ranges::end(r))
3325
    {
3326
    }
3327
3328
    constexpr I begin() const
3329
896M
    {
3330
896M
        return m_iterator;
3331
896M
    }
scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>::begin() const
Line
Count
Source
3329
121M
    {
3330
121M
        return m_iterator;
3331
121M
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::begin() const
Line
Count
Source
3329
16.0M
    {
3330
16.0M
        return m_iterator;
3331
16.0M
    }
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::begin() const
Line
Count
Source
3329
316M
    {
3330
316M
        return m_iterator;
3331
316M
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::begin() const
Line
Count
Source
3329
3.94M
    {
3330
3.94M
        return m_iterator;
3331
3.94M
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::begin() const
Line
Count
Source
3329
211M
    {
3330
211M
        return m_iterator;
3331
211M
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::begin() const
Line
Count
Source
3329
217M
    {
3330
217M
        return m_iterator;
3331
217M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::begin() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::begin() const
Line
Count
Source
3329
7.63M
    {
3330
7.63M
        return m_iterator;
3331
7.63M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >::begin() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::begin() const
Line
Count
Source
3329
3.48k
    {
3330
3.48k
        return m_iterator;
3331
3.48k
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::begin() const
Line
Count
Source
3329
740k
    {
3330
740k
        return m_iterator;
3331
740k
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::begin() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::begin() const
Line
Count
Source
3329
1.06M
    {
3330
1.06M
        return m_iterator;
3331
1.06M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::begin() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >::begin() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
3329
582
    {
3330
582
        return m_iterator;
3331
582
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::begin() const
Line
Count
Source
3329
99.3k
    {
3330
99.3k
        return m_iterator;
3331
99.3k
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >::begin() const
Line
Count
Source
3329
18.9k
    {
3330
18.9k
        return m_iterator;
3331
18.9k
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >::begin() const
Line
Count
Source
3329
6.51k
    {
3330
6.51k
        return m_iterator;
3331
6.51k
    }
3332
    constexpr S end() const
3333
1.29G
    {
3334
1.29G
        return m_sentinel;
3335
1.29G
    }
scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>::end() const
Line
Count
Source
3333
73.1M
    {
3334
73.1M
        return m_sentinel;
3335
73.1M
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >::end() const
Line
Count
Source
3333
172M
    {
3334
172M
        return m_sentinel;
3335
172M
    }
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::end() const
Line
Count
Source
3333
299M
    {
3334
299M
        return m_sentinel;
3335
299M
    }
scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >::end() const
Line
Count
Source
3333
385M
    {
3334
385M
        return m_sentinel;
3335
385M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::end() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>::end() const
Line
Count
Source
3333
149M
    {
3334
149M
        return m_sentinel;
3335
149M
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::end() const
Line
Count
Source
3333
7.63M
    {
3334
7.63M
        return m_sentinel;
3335
7.63M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >::end() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::end() const
Line
Count
Source
3333
3.48k
    {
3334
3.48k
        return m_sentinel;
3335
3.48k
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >::end() const
Line
Count
Source
3333
398k
    {
3334
398k
        return m_sentinel;
3335
398k
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::end() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>::end() const
Line
Count
Source
3333
201M
    {
3334
201M
        return m_sentinel;
3335
201M
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::end() const
Line
Count
Source
3333
1.06M
    {
3334
1.06M
        return m_sentinel;
3335
1.06M
    }
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >::end() const
Unexecuted instantiation: scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >::end() const
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::end() const
Line
Count
Source
3333
582
    {
3334
582
        return m_sentinel;
3335
582
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >::end() const
Line
Count
Source
3333
97.1k
    {
3334
97.1k
        return m_sentinel;
3335
97.1k
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >::end() const
Line
Count
Source
3333
10.0k
    {
3334
10.0k
        return m_sentinel;
3335
10.0k
    }
scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >::end() const
Line
Count
Source
3333
3.25k
    {
3334
3.25k
        return m_sentinel;
3335
3.25k
    }
3336
3337
    SCN_NODISCARD constexpr bool empty() const
3338
31.4M
    {
3339
31.4M
        return m_iterator == m_sentinel;
3340
31.4M
    }
scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>::empty() const
Line
Count
Source
3338
26.2M
    {
3339
26.2M
        return m_iterator == m_sentinel;
3340
26.2M
    }
scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::empty() const
Line
Count
Source
3338
5.22M
    {
3339
5.22M
        return m_iterator == m_sentinel;
3340
5.22M
    }
3341
3342
    template <typename I_ = I,
3343
              std::enable_if_t<sized_sentinel_for<S, I_>>* = nullptr>
3344
    constexpr std::size_t size() const
3345
33.1M
    {
3346
33.1M
        return static_cast<size_t>(m_sentinel - m_iterator);
3347
33.1M
    }
unsigned long scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>::size<char const*, (void*)0>() const
Line
Count
Source
3345
26.3M
    {
3346
26.3M
        return static_cast<size_t>(m_sentinel - m_iterator);
3347
26.3M
    }
unsigned long scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>::size<wchar_t const*, (void*)0>() const
Line
Count
Source
3345
6.74M
    {
3346
6.74M
        return static_cast<size_t>(m_sentinel - m_iterator);
3347
6.74M
    }
3348
3349
private:
3350
    SCN_NO_UNIQUE_ADDRESS I m_iterator{};
3351
    SCN_NO_UNIQUE_ADDRESS S m_sentinel{};
3352
};
3353
3354
template <typename I,
3355
          typename S,
3356
          std::enable_if_t<input_or_output_iterator<I> && sentinel_for<S, I>>* =
3357
              nullptr>
3358
subrange(I, S) -> subrange<I, S>;
3359
3360
template <typename R, std::enable_if_t<borrowed_range<R>>* = nullptr>
3361
subrange(R&&) -> subrange<iterator_t<R>, sentinel_t<R>>;
3362
3363
}  // namespace detail::subrange_
3364
3365
using detail::subrange_::subrange;
3366
3367
template <typename I, typename S>
3368
inline constexpr bool enable_borrowed_range<subrange<I, S>> = true;
3369
3370
struct default_sentinel_t {};
3371
inline constexpr default_sentinel_t default_sentinel{};
3372
3373
}  // namespace ranges
3374
3375
namespace detail {
3376
3377
namespace char_t_fn {
3378
template <typename T, typename = typename T::value_type>
3379
constexpr auto impl_nonarray(priority_tag<2>)
3380
0
{
3381
0
    return tag_type<typename T::value_type>{};
3382
0
}
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, char>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >, char>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, char>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >, char>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<char, std::__1::char_traits<char> >, char>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, char>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, wchar_t>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >, wchar_t>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, wchar_t>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >, wchar_t>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, wchar_t>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, wchar_t>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >, char>(scn::v3::detail::priority_tag<2ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >, wchar_t>(scn::v3::detail::priority_tag<2ul>)
3383
template <typename T, typename = decltype(SCN_DECLVAL(T&).begin())>
3384
constexpr auto impl_nonarray(priority_tag<1>)
3385
0
{
3386
0
    return tag_type<remove_cvref_t<decltype(*(SCN_DECLVAL(T&).begin()))>>{};
3387
0
}
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char const*>(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t const*>(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> > >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> > >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> > >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> > >(scn::v3::detail::priority_tag<1ul>)
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl_nonarray<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> > >(scn::v3::detail::priority_tag<1ul>)
3388
template <typename T>
3389
constexpr auto impl_nonarray(priority_tag<0>)
3390
{
3391
    return tag_type<remove_cvref_t<decltype(*begin(SCN_DECLVAL(T&)))>>{};
3392
}
3393
3394
template <typename T,
3395
          typename = std::enable_if_t<ranges::range<remove_cvref_t<T>>>>
3396
constexpr auto impl()
3397
0
{
3398
0
    using T_nocvref = remove_cvref_t<T>;
3399
0
    if constexpr (std::is_array_v<T_nocvref>) {
3400
0
        return tag_type<std::remove_all_extents_t<T_nocvref>>{};
3401
0
    }
3402
0
    else {
3403
0
        return impl_nonarray<T_nocvref>(priority_tag<2>{});
3404
0
    }
3405
0
}
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::detail::basic_scan_buffer<char>::forward_iterator>, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<char, std::__1::char_traits<char> > > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<scn::v3::ranges::detail::subrange_::subrange<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::sentinel<true> >, scn::v3::impl::take_width_view<scn::v3::impl::take_width_view<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> > >::sentinel<true> >, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void>()
Unexecuted instantiation: auto scn::v3::detail::char_t_fn::impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void>()
3406
3407
template <typename Range>
3408
using result = decltype(impl<Range>());
3409
}  // namespace char_t_fn
3410
3411
template <typename Range>
3412
using char_t = typename char_t_fn::result<Range>::type;
3413
3414
template <typename Range, typename = void>
3415
inline constexpr bool is_file_or_narrow_range_impl = false;
3416
template <>
3417
inline constexpr bool is_file_or_narrow_range_impl<std::FILE*, void> = true;
3418
template <typename Range>
3419
inline constexpr bool
3420
    is_file_or_narrow_range_impl<Range,
3421
                                 std::enable_if_t<ranges::range<Range>>> =
3422
        std::is_same_v<char_t<Range>, char>;
3423
3424
template <typename Range>
3425
inline constexpr bool is_file_or_narrow_range =
3426
    is_file_or_narrow_range_impl<remove_cvref_t<Range>>;
3427
3428
template <typename Range, typename = void>
3429
inline constexpr bool is_wide_range = false;
3430
template <typename Range>
3431
inline constexpr bool
3432
    is_wide_range<Range,
3433
                  std::enable_if_t<ranges::range<remove_cvref_t<Range>>>> =
3434
        std::is_same_v<char_t<Range>, wchar_t>;
3435
3436
template <typename R, bool Borrowed = ranges::borrowed_range<R>>
3437
struct borrowed_tail_subrange {
3438
    using type = ranges::subrange<ranges::iterator_t<R>, ranges::sentinel_t<R>>;
3439
};
3440
template <typename R>
3441
struct borrowed_tail_subrange<R, false> {
3442
    using type = ranges::dangling;
3443
};
3444
3445
/// Equivalent to
3446
/// `ranges::subrange<ranges::iterator_t<R>,
3447
/// ranges::sentinel_t<R>>` if `R` is a `borrowed_range`, and
3448
/// `ranges::dangling` otherwise.
3449
///
3450
/// Similar to `ranges::borrowed_subrange_t<R>`, expect this preserves
3451
/// the range sentinel.
3452
template <typename R>
3453
using borrowed_tail_subrange_t = typename borrowed_tail_subrange<R>::type;
3454
3455
}  // namespace detail
3456
3457
namespace ranges {
3458
template <typename CharT, typename Traits>
3459
inline constexpr bool
3460
    enable_borrowed_range<std::basic_string_view<CharT, Traits>> = true;
3461
}
3462
3463
/////////////////////////////////////////////////////////////////
3464
// Small generic algorithms
3465
/////////////////////////////////////////////////////////////////
3466
3467
namespace detail {
3468
3469
/**
3470
 * Implementation of `std::min_element` without including `<algorithm>`
3471
 */
3472
template <typename It>
3473
constexpr It min_element(It first, It last)
3474
{
3475
    if (first == last) {
3476
        return last;
3477
    }
3478
3479
    It smallest = first;
3480
    ++first;
3481
    for (; first != last; ++first) {
3482
        if (*first < *smallest) {
3483
            smallest = first;
3484
        }
3485
    }
3486
    return smallest;
3487
}
3488
3489
/**
3490
 * Implementation of `std::min` without including `<algorithm>`
3491
 */
3492
template <typename T>
3493
constexpr T min(T a, T b) noexcept
3494
{
3495
    return (b < a) ? b : a;
3496
}
3497
3498
template <bool IsConstexpr, typename T, typename Ptr = const T*>
3499
constexpr Ptr find(Ptr first, Ptr last, T value)
3500
{
3501
    for (; first != last; ++first) {
3502
        if (*first == value) {
3503
            return first;
3504
        }
3505
    }
3506
    return last;
3507
}
3508
3509
template <>
3510
inline const char* find<false, char>(const char* first,
3511
                                     const char* last,
3512
                                     char value)
3513
0
{
3514
0
    auto ptr = static_cast<const char*>(
3515
0
        std::memchr(first, value, static_cast<size_t>(last - first)));
3516
0
    return ptr != nullptr ? ptr : last;
3517
0
}
3518
3519
}  // namespace detail
3520
3521
/////////////////////////////////////////////////////////////////
3522
// Errors
3523
/////////////////////////////////////////////////////////////////
3524
3525
/**
3526
 * Error class.
3527
 * Used as a return value for functions without a success value.
3528
 *
3529
 * \ingroup result
3530
 */
3531
class SCN_TRIVIAL_ABI scan_error {
3532
public:
3533
    /// Error code
3534
    enum code {
3535
        /// No error
3536
        good = 0,
3537
        /// EOF
3538
        end_of_range,
3539
        /// Format string was invalid
3540
        invalid_format_string,
3541
        /// Scanned value was invalid for given type.
3542
        /// e.g. a period '.' when scanning for an int
3543
        invalid_scanned_value,
3544
        /// Scanned value was out of range for the desired type.
3545
        /// (e.g. `>2^32` for an `uint32_t`)
3546
        value_out_of_range,
3547
3548
        max_error
3549
    };
3550
3551
private:
3552
    using code_t = code;
3553
3554
public:
3555
    struct success_tag_t {};
3556
    static constexpr success_tag_t success_tag() noexcept
3557
0
    {
3558
0
        return {};
3559
0
    }
3560
3561
    /// Constructs an error with `code::good` and no message.
3562
47.4M
    constexpr scan_error() noexcept = default;
3563
0
    constexpr scan_error(success_tag_t) noexcept : scan_error() {}
3564
3565
    /// Constructs an error with `c` and `m`
3566
    constexpr scan_error(code_t c, const char* m) noexcept : m_msg(m), m_code(c)
3567
11.6M
    {
3568
11.6M
        SCN_UNLIKELY_ATTR SCN_UNUSED(m_code);
3569
11.6M
    }
3570
3571
    /// Evaluated to true if there was no error
3572
    constexpr explicit operator bool() const noexcept
3573
77.9M
    {
3574
77.9M
        return m_code == good;
3575
77.9M
    }
3576
3577
    constexpr explicit operator code_t() const noexcept
3578
0
    {
3579
0
        return m_code;
3580
0
    }
3581
3582
    /// Get error code
3583
    SCN_NODISCARD constexpr code_t code() const noexcept
3584
1.91M
    {
3585
1.91M
        return m_code;
3586
1.91M
    }
3587
    /// Get error message
3588
    SCN_NODISCARD constexpr auto msg() const noexcept -> const char*
3589
0
    {
3590
0
        return m_msg;
3591
0
    }
3592
3593
private:
3594
    const char* m_msg{nullptr};
3595
    code_t m_code{good};
3596
};
3597
3598
constexpr inline bool operator==(scan_error a, scan_error b) noexcept
3599
0
{
3600
0
    return a.code() == b.code();
3601
0
}
3602
constexpr inline bool operator!=(scan_error a, scan_error b) noexcept
3603
0
{
3604
0
    return !(a == b);
3605
0
}
3606
3607
constexpr inline bool operator==(scan_error a, enum scan_error::code b) noexcept
3608
1.91M
{
3609
1.91M
    return a.code() == b;
3610
1.91M
}
3611
constexpr inline bool operator!=(scan_error a, enum scan_error::code b) noexcept
3612
1.91M
{
3613
1.91M
    return !(a == b);
3614
1.91M
}
3615
3616
constexpr inline bool operator==(enum scan_error::code a, scan_error b) noexcept
3617
0
{
3618
0
    return a == b.code();
3619
0
}
3620
constexpr inline bool operator!=(enum scan_error::code a, scan_error b) noexcept
3621
0
{
3622
0
    return !(a == b);
3623
0
}
3624
3625
namespace detail {
3626
// Intentionally not constexpr, to give out a compile-time error
3627
scan_error handle_error(scan_error e);
3628
}  // namespace detail
3629
3630
/**
3631
 * An `expected<T, scan_error>`.
3632
 *
3633
 * Not a type alias to shorten template names
3634
 *
3635
 * \ingroup result
3636
 */
3637
template <typename T>
3638
struct scan_expected : public expected<T, scan_error> {
3639
    using expected<T, scan_error>::expected;
3640
3641
    scan_expected(const expected<T, scan_error>& other)
3642
        : expected<T, scan_error>(other)
3643
    {
3644
    }
3645
    scan_expected(expected<T, scan_error>&& other)
3646
        : expected<T, scan_error>(SCN_MOVE(other))
3647
9.42M
    {
3648
9.42M
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::scan_expected(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>&&)
scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*> >::scan_expected(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<char const*, char const*>, scn::v3::scan_error>&&)
Line
Count
Source
3647
2.52k
    {
3648
2.52k
    }
scn::v3::scan_expected<char const*>::scan_expected(scn::v3::expected<char const*, scn::v3::scan_error>&&)
Line
Count
Source
3647
2.90M
    {
3648
2.90M
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator>::scan_expected(scn::v3::expected<scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::scan_error>&&)
Line
Count
Source
3647
4.77M
    {
3648
4.77M
    }
Unexecuted instantiation: scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t> >::scan_expected(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::ranges::default_sentinel_t>, scn::v3::scan_error>&&)
scn::v3::scan_expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*> >::scan_expected(scn::v3::expected<scn::v3::impl::counted_width_iterator_impl::counted_width_iterator<wchar_t const*, wchar_t const*>, scn::v3::scan_error>&&)
Line
Count
Source
3647
1.24k
    {
3648
1.24k
    }
scn::v3::scan_expected<wchar_t const*>::scan_expected(scn::v3::expected<wchar_t const*, scn::v3::scan_error>&&)
Line
Count
Source
3647
632k
    {
3648
632k
    }
scn::v3::scan_expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator>::scan_expected(scn::v3::expected<scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::scan_error>&&)
Line
Count
Source
3647
1.10M
    {
3648
1.10M
    }
3649
};
3650
3651
template <typename... Args>
3652
auto unexpected_scan_error(Args&&... args)
3653
1.04M
{
3654
1.04M
    return unexpected(scan_error{SCN_FWD(args)...});
3655
1.04M
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [74]>(scn::v3::scan_error::code&&, char const (&) [74])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [41]>(scn::v3::scan_error::code&&, char const (&) [41])
Line
Count
Source
3653
134k
{
3654
134k
    return unexpected(scan_error{SCN_FWD(args)...});
3655
134k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [51]>(scn::v3::scan_error::code&&, char const (&) [51])
Line
Count
Source
3653
64.7k
{
3654
64.7k
    return unexpected(scan_error{SCN_FWD(args)...});
3655
64.7k
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [37]>(scn::v3::scan_error::code&&, char const (&) [37])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [20]>(scn::v3::scan_error::code&&, char const (&) [20])
Line
Count
Source
3653
1.44k
{
3654
1.44k
    return unexpected(scan_error{SCN_FWD(args)...});
3655
1.44k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [35]>(scn::v3::scan_error::code&&, char const (&) [35])
Line
Count
Source
3653
31.5k
{
3654
31.5k
    return unexpected(scan_error{SCN_FWD(args)...});
3655
31.5k
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [34]>(scn::v3::scan_error::code&&, char const (&) [34])
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [31]>(scn::v3::scan_error::code&&, char const (&) [31])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [38]>(scn::v3::scan_error::code&&, char const (&) [38])
Line
Count
Source
3653
49.9k
{
3654
49.9k
    return unexpected(scan_error{SCN_FWD(args)...});
3655
49.9k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [14]>(scn::v3::scan_error::code&&, char const (&) [14])
Line
Count
Source
3653
38.1k
{
3654
38.1k
    return unexpected(scan_error{SCN_FWD(args)...});
3655
38.1k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [32]>(scn::v3::scan_error::code&&, char const (&) [32])
Line
Count
Source
3653
22.3k
{
3654
22.3k
    return unexpected(scan_error{SCN_FWD(args)...});
3655
22.3k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [36]>(scn::v3::scan_error::code&&, char const (&) [36])
Line
Count
Source
3653
672
{
3654
672
    return unexpected(scan_error{SCN_FWD(args)...});
3655
672
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [59]>(scn::v3::scan_error::code&&, char const (&) [59])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [52]>(scn::v3::scan_error::code&&, char const (&) [52])
Line
Count
Source
3653
2.20k
{
3654
2.20k
    return unexpected(scan_error{SCN_FWD(args)...});
3655
2.20k
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [66]>(scn::v3::scan_error::code&&, char const (&) [66])
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [77]>(scn::v3::scan_error::code&&, char const (&) [77])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [40]>(scn::v3::scan_error::code&&, char const (&) [40])
Line
Count
Source
3653
14.6k
{
3654
14.6k
    return unexpected(scan_error{SCN_FWD(args)...});
3655
14.6k
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [42]>(scn::v3::scan_error::code&&, char const (&) [42])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [47]>(scn::v3::scan_error::code&&, char const (&) [47])
Line
Count
Source
3653
6.01k
{
3654
6.01k
    return unexpected(scan_error{SCN_FWD(args)...});
3655
6.01k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [23]>(scn::v3::scan_error::code&&, char const (&) [23])
Line
Count
Source
3653
74
{
3654
74
    return unexpected(scan_error{SCN_FWD(args)...});
3655
74
}
Unexecuted instantiation: auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [19]>(scn::v3::scan_error::code&&, char const (&) [19])
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [79]>(scn::v3::scan_error::code&&, char const (&) [79])
Line
Count
Source
3653
144
{
3654
144
    return unexpected(scan_error{SCN_FWD(args)...});
3655
144
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [22]>(scn::v3::scan_error::code&&, char const (&) [22])
Line
Count
Source
3653
386k
{
3654
386k
    return unexpected(scan_error{SCN_FWD(args)...});
3655
386k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [29]>(scn::v3::scan_error::code&&, char const (&) [29])
Line
Count
Source
3653
234k
{
3654
234k
    return unexpected(scan_error{SCN_FWD(args)...});
3655
234k
}
auto scn::v3::unexpected_scan_error<scn::v3::scan_error::code, char const (&) [17]>(scn::v3::scan_error::code&&, char const (&) [17])
Line
Count
Source
3653
56.1k
{
3654
56.1k
    return unexpected(scan_error{SCN_FWD(args)...});
3655
56.1k
}
3656
3657
namespace detail {
3658
template <typename T>
3659
struct is_expected_impl<scan_expected<T>> : std::true_type {};
3660
}  // namespace detail
3661
3662
5.01M
#define SCN_TRY_IMPL_CONCAT(a, b)  a##b
3663
5.01M
#define SCN_TRY_IMPL_CONCAT2(a, b) SCN_TRY_IMPL_CONCAT(a, b)
3664
5.01M
#define SCN_TRY_TMP                SCN_TRY_IMPL_CONCAT2(_scn_try_tmp_, __LINE__)
3665
3666
#define SCN_TRY_ASSIGN(init, x)                        \
3667
114M
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
_ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_
Line
Count
Source
3667
768k
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIcE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_
Line
Count
Source
3667
1.38M
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Line
Count
Source
3667
6
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v34impl12float_readerIcE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKcSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Line
Count
Source
3667
484
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIcE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKcSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS6_18default_sentinel_tEEEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESK_ENKUlRKSK_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISD_SE_EENSG_8sentinelILb1EEEEEEEDaSR_
_ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E0_clISE_EEDaSP_
Line
Count
Source
3667
79.9k
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeINS0_6detail17basic_scan_bufferIwE16forward_iteratorENS5_18default_sentinel_tEEEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESI_ENKUlRKSI_E_clISE_EEDaSP_
Line
Count
Source
3667
196k
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E0_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Line
Count
Source
3667
12
    auto&& SCN_TRY_TMP = (x);                          \
_ZZN3scn2v34impl12float_readerIwE16read_source_implINS1_15take_width_viewINS0_6ranges6detail9subrange_8subrangeIPKwSB_EEEEEENS0_13scan_expectedIDTclL_ZNS6_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESH_ENKUlRKSH_E_clINS9_INS1_27counted_width_iterator_impl22counted_width_iteratorISB_SB_EENSD_8sentinelILb1EEEEEEEDaSO_
Line
Count
Source
3667
232
    auto&& SCN_TRY_TMP = (x);                          \
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E0_clISB_EEDaSM_
Unexecuted instantiation: _ZZN3scn2v34impl12float_readerIwE16read_source_implINS0_6ranges6detail9subrange_8subrangeIPKwSA_EEEENS0_13scan_expectedIDTclL_ZNS5_5beginEEclsr3stdE7declvalIRNSt3__19add_constIT_E4typeEEEEEEESF_ENKUlRKSF_E_clISB_EEDaSM_
3668
114M
    if (SCN_UNLIKELY(!SCN_TRY_TMP)) {                  \
3669
5.01M
        return ::scn::unexpected(SCN_TRY_TMP.error()); \
3670
5.01M
    }                                                  \
3671
114M
    init = *SCN_FWD(SCN_TRY_TMP);
3672
97.0M
#define SCN_TRY(name, x) SCN_TRY_ASSIGN(auto name, x)
3673
3674
#define SCN_TRY_ERR(name, x)          \
3675
    auto&& SCN_TRY_TMP = (x);         \
3676
    if (SCN_UNLIKELY(!SCN_TRY_TMP)) { \
3677
        return SCN_TRY_TMP.error();   \
3678
    }                                 \
3679
    auto name = *SCN_FWD(SCN_TRY_TMP);
3680
3681
/////////////////////////////////////////////////////////////////
3682
// string_view utilities
3683
/////////////////////////////////////////////////////////////////
3684
3685
namespace detail {
3686
3687
template <typename T>
3688
struct is_string_view : std::false_type {};
3689
template <typename CharT, typename Traits>
3690
struct is_string_view<std::basic_string_view<CharT, Traits>> : std::true_type {
3691
};
3692
3693
// workarounds for MSVC string_view debug iterators
3694
template <typename CharT>
3695
constexpr std::basic_string_view<CharT> make_string_view_from_iterators(
3696
    typename std::basic_string_view<CharT>::iterator first,
3697
    typename std::basic_string_view<CharT>::iterator last)
3698
112M
{
3699
112M
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3700
112M
                                          decltype(first), decltype(last)> &&
3701
112M
                  !SCN_MSVC_DEBUG_ITERATORS) {
3702
112M
        return {first, last};
3703
112M
    }
3704
112M
    else {
3705
112M
        return {to_address(first), static_cast<size_t>(std::distance(
3706
112M
                                       to_address(first), to_address(last)))};
3707
112M
    }
3708
112M
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::make_string_view_from_iterators<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator)
Line
Count
Source
3698
33.0M
{
3699
33.0M
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3700
33.0M
                                          decltype(first), decltype(last)> &&
3701
33.0M
                  !SCN_MSVC_DEBUG_ITERATORS) {
3702
33.0M
        return {first, last};
3703
33.0M
    }
3704
33.0M
    else {
3705
33.0M
        return {to_address(first), static_cast<size_t>(std::distance(
3706
33.0M
                                       to_address(first), to_address(last)))};
3707
33.0M
    }
3708
33.0M
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::make_string_view_from_iterators<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator)
Line
Count
Source
3698
78.9M
{
3699
78.9M
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3700
78.9M
                                          decltype(first), decltype(last)> &&
3701
78.9M
                  !SCN_MSVC_DEBUG_ITERATORS) {
3702
78.9M
        return {first, last};
3703
78.9M
    }
3704
78.9M
    else {
3705
78.9M
        return {to_address(first), static_cast<size_t>(std::distance(
3706
78.9M
                                       to_address(first), to_address(last)))};
3707
78.9M
    }
3708
78.9M
}
3709
3710
template <typename CharT>
3711
constexpr std::basic_string_view<CharT> make_string_view_from_pointers(
3712
    const CharT* first,
3713
    const CharT* last)
3714
7.86M
{
3715
7.86M
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3716
7.86M
                                          const CharT*, const CharT*>) {
3717
7.86M
        return {first, last};
3718
7.86M
    }
3719
7.86M
    else {
3720
7.86M
        return {first, static_cast<size_t>(std::distance(first, last))};
3721
7.86M
    }
3722
7.86M
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::make_string_view_from_pointers<char>(char const*, char const*)
Line
Count
Source
3714
6.18M
{
3715
6.18M
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3716
6.18M
                                          const CharT*, const CharT*>) {
3717
6.18M
        return {first, last};
3718
6.18M
    }
3719
6.18M
    else {
3720
6.18M
        return {first, static_cast<size_t>(std::distance(first, last))};
3721
6.18M
    }
3722
6.18M
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::make_string_view_from_pointers<wchar_t>(wchar_t const*, wchar_t const*)
Line
Count
Source
3714
1.68M
{
3715
1.68M
    if constexpr (std::is_constructible_v<std::basic_string_view<CharT>,
3716
1.68M
                                          const CharT*, const CharT*>) {
3717
1.68M
        return {first, last};
3718
1.68M
    }
3719
1.68M
    else {
3720
1.68M
        return {first, static_cast<size_t>(std::distance(first, last))};
3721
1.68M
    }
3722
1.68M
}
3723
3724
template <typename CharT>
3725
constexpr auto make_string_view_iterator(
3726
    std::basic_string_view<CharT> sv,
3727
    typename std::basic_string_view<CharT>::iterator it) ->
3728
    typename std::basic_string_view<CharT>::iterator
3729
39.8M
{
3730
39.8M
    if constexpr (std::is_constructible_v<
3731
39.8M
                      typename std::basic_string_view<CharT>::iterator,
3732
39.8M
                      decltype(it)> &&
3733
39.8M
                  !SCN_MSVC_DEBUG_ITERATORS) {
3734
39.8M
        SCN_UNUSED(sv);
3735
39.8M
        return it;
3736
39.8M
    }
3737
39.8M
    else {
3738
39.8M
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
3739
39.8M
    }
3740
39.8M
}
std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator scn::v3::detail::make_string_view_iterator<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, std::__1::basic_string_view<char, std::__1::char_traits<char> >::iterator)
Line
Count
Source
3729
39.8M
{
3730
39.8M
    if constexpr (std::is_constructible_v<
3731
39.8M
                      typename std::basic_string_view<CharT>::iterator,
3732
39.8M
                      decltype(it)> &&
3733
39.8M
                  !SCN_MSVC_DEBUG_ITERATORS) {
3734
39.8M
        SCN_UNUSED(sv);
3735
39.8M
        return it;
3736
39.8M
    }
3737
39.8M
    else {
3738
39.8M
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
3739
39.8M
    }
3740
39.8M
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator scn::v3::detail::make_string_view_iterator<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >::iterator)
Line
Count
Source
3729
7.62k
{
3730
7.62k
    if constexpr (std::is_constructible_v<
3731
7.62k
                      typename std::basic_string_view<CharT>::iterator,
3732
7.62k
                      decltype(it)> &&
3733
7.62k
                  !SCN_MSVC_DEBUG_ITERATORS) {
3734
7.62k
        SCN_UNUSED(sv);
3735
7.62k
        return it;
3736
7.62k
    }
3737
7.62k
    else {
3738
7.62k
        return sv.begin() + std::distance(sv.data(), detail::to_address(it));
3739
7.62k
    }
3740
7.62k
}
3741
3742
template <typename CharT>
3743
constexpr auto make_string_view_iterator_from_pointer(
3744
    std::basic_string_view<CharT> sv,
3745
    const CharT* ptr) -> typename std::basic_string_view<CharT>::iterator
3746
{
3747
    if constexpr (std::is_constructible_v<
3748
                      typename std::basic_string_view<CharT>::iterator,
3749
                      const CharT*> &&
3750
                  !SCN_MSVC_DEBUG_ITERATORS) {
3751
        SCN_UNUSED(sv);
3752
        return ptr;
3753
    }
3754
    else {
3755
        return sv.begin() + std::distance(sv.data(), ptr);
3756
    }
3757
}
3758
3759
/////////////////////////////////////////////////////////////////
3760
// Lightweight Unicode facilities
3761
/////////////////////////////////////////////////////////////////
3762
3763
constexpr inline bool is_ascii_code_point(char32_t cp)
3764
0
{
3765
0
    return cp <= 0x7f;
3766
0
}
3767
3768
template <typename U8>
3769
constexpr std::size_t utf8_code_point_length_by_starting_code_unit(U8 ch)
3770
39.9M
{
3771
39.9M
    static_assert(sizeof(U8) == 1);
3772
3773
39.9M
    SCN_GCC_COMPAT_PUSH
3774
39.9M
    SCN_GCC_COMPAT_IGNORE("-Wsign-conversion")
3775
39.9M
    constexpr char lengths[] =
3776
39.9M
        "\1\1\1\1\1\1\1\1"  // highest bit is 0 -> single-byte
3777
39.9M
        "\1\1\1\1\1\1\1\1"
3778
39.9M
        "\0\0\0\0\0\0\0\0"  // highest bits 10 -> error, non-initial
3779
                            // byte
3780
39.9M
        "\2\2\2\2"          // highest bits 110 -> 2-byte cp
3781
39.9M
        "\3\3"              // highest bits 1110 -> 3-byte cp
3782
39.9M
        "\4";               // highest bits 11110 -> 4-byte cp
3783
39.9M
    return lengths[static_cast<unsigned char>(ch) >> 3];
3784
39.9M
    SCN_GCC_COMPAT_POP
3785
39.9M
}
3786
3787
template <typename U16>
3788
constexpr std::size_t utf16_code_point_length_by_starting_code_unit(U16 ch)
3789
{
3790
    static_assert(sizeof(U16) == 2);
3791
3792
    const auto lead = static_cast<uint16_t>(0xffff & ch);
3793
    if (lead >= 0xd800 && lead <= 0xdbff) {
3794
        // high surrogate
3795
        return 2;
3796
    }
3797
    if (lead >= 0xdc00 && lead <= 0xdfff) {
3798
        // unpaired low surrogate
3799
        return 0;
3800
    }
3801
    return 1;
3802
}
3803
3804
template <typename U>
3805
constexpr std::size_t code_point_length_by_starting_code_unit(U ch)
3806
210M
{
3807
210M
    if constexpr (sizeof(U) == 1) {
3808
171M
        return utf8_code_point_length_by_starting_code_unit(ch);
3809
171M
    }
3810
171M
    else if constexpr (sizeof(U) == 2) {
3811
171M
        return utf16_code_point_length_by_starting_code_unit(ch);
3812
171M
    }
3813
171M
    else {
3814
        // utf-32
3815
171M
        static_assert(sizeof(U) == 4);
3816
171M
        SCN_UNUSED(ch);
3817
171M
        return 1;
3818
171M
    }
3819
210M
}
unsigned long scn::v3::detail::code_point_length_by_starting_code_unit<char>(char)
Line
Count
Source
3806
39.9M
{
3807
39.9M
    if constexpr (sizeof(U) == 1) {
3808
39.9M
        return utf8_code_point_length_by_starting_code_unit(ch);
3809
39.9M
    }
3810
39.9M
    else if constexpr (sizeof(U) == 2) {
3811
39.9M
        return utf16_code_point_length_by_starting_code_unit(ch);
3812
39.9M
    }
3813
39.9M
    else {
3814
        // utf-32
3815
39.9M
        static_assert(sizeof(U) == 4);
3816
39.9M
        SCN_UNUSED(ch);
3817
39.9M
        return 1;
3818
39.9M
    }
3819
39.9M
}
unsigned long scn::v3::detail::code_point_length_by_starting_code_unit<wchar_t>(wchar_t)
Line
Count
Source
3806
171M
{
3807
171M
    if constexpr (sizeof(U) == 1) {
3808
171M
        return utf8_code_point_length_by_starting_code_unit(ch);
3809
171M
    }
3810
171M
    else if constexpr (sizeof(U) == 2) {
3811
171M
        return utf16_code_point_length_by_starting_code_unit(ch);
3812
171M
    }
3813
171M
    else {
3814
        // utf-32
3815
171M
        static_assert(sizeof(U) == 4);
3816
171M
        SCN_UNUSED(ch);
3817
171M
        return 1;
3818
171M
    }
3819
171M
}
3820
3821
inline constexpr char32_t invalid_code_point = 0x110000;
3822
3823
inline constexpr char32_t decode_utf8_code_point_exhaustive(
3824
    std::string_view input)
3825
37.1M
{
3826
37.1M
    SCN_EXPECT(!input.empty() && input.size() <= 4);
3827
3828
37.1M
    const auto is_trailing_code_unit = [](char ch) {
3829
3.38M
        return static_cast<unsigned char>(ch) >> 6 == 0x2;
3830
3.38M
    };
3831
3832
37.1M
    if (input.size() == 1) {
3833
34.2M
        if (static_cast<unsigned char>(input[0]) >= 0x80) {
3834
3.61k
            SCN_UNLIKELY_ATTR
3835
3.61k
            return invalid_code_point;
3836
3.61k
        }
3837
34.2M
        return static_cast<char32_t>(input[0]);
3838
34.2M
    }
3839
3840
2.91M
    if (input.size() == 2) {
3841
2.37M
        if ((static_cast<unsigned char>(input[0]) & 0xe0) != 0xc0) {
3842
596
            SCN_UNLIKELY_ATTR
3843
596
            return invalid_code_point;
3844
596
        }
3845
2.37M
        if (!is_trailing_code_unit(input[1])) {
3846
155k
            SCN_UNLIKELY_ATTR
3847
155k
            return invalid_code_point;
3848
155k
        }
3849
3850
2.21M
        char32_t cp{};
3851
2.21M
        cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6;
3852
2.21M
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0;
3853
2.21M
        return cp;
3854
2.37M
    }
3855
3856
543k
    if (input.size() == 3) {
3857
469k
        if ((static_cast<unsigned char>(input[0]) & 0xf0) != 0xe0) {
3858
295
            SCN_UNLIKELY_ATTR
3859
295
            return invalid_code_point;
3860
295
        }
3861
468k
        if (!is_trailing_code_unit(input[1]) ||
3862
468k
            !is_trailing_code_unit(input[2])) {
3863
53.4k
            SCN_UNLIKELY_ATTR
3864
53.4k
            return invalid_code_point;
3865
53.4k
        }
3866
3867
415k
        char32_t cp{};
3868
415k
        cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12;
3869
415k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6;
3870
415k
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0;
3871
415k
        return cp;
3872
468k
    }
3873
3874
74.6k
    if (input.size() == 4) {
3875
74.6k
        if ((static_cast<unsigned char>(input[0]) & 0xf8) != 0xf0) {
3876
0
            SCN_UNLIKELY_ATTR
3877
0
            return invalid_code_point;
3878
0
        }
3879
74.6k
        if (static_cast<unsigned char>(input[0]) > 0xf4) {
3880
24.0k
            SCN_UNLIKELY_ATTR
3881
24.0k
            return invalid_code_point;
3882
24.0k
        }
3883
50.6k
        if (!is_trailing_code_unit(input[1]) ||
3884
50.6k
            !is_trailing_code_unit(input[2]) ||
3885
50.6k
            !is_trailing_code_unit(input[3])) {
3886
19.3k
            SCN_UNLIKELY_ATTR
3887
19.3k
            return invalid_code_point;
3888
19.3k
        }
3889
3890
31.2k
        char32_t cp{};
3891
31.2k
        cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18;
3892
31.2k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12;
3893
31.2k
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6;
3894
31.2k
        cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0;
3895
31.2k
        return cp;
3896
50.6k
    }
3897
3898
0
#if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0)
3899
    // gcc 7 thinks we'll get here, even when we won't
3900
0
    SCN_EXPECT(false);
3901
0
#endif
3902
0
    SCN_UNREACHABLE;
3903
0
}
3904
3905
inline constexpr char32_t decode_utf8_code_point_exhaustive_valid(
3906
    std::string_view input)
3907
572k
{
3908
572k
    SCN_EXPECT(!input.empty() && input.size() <= 4);
3909
3910
572k
    const auto is_trailing_code_unit = [](char ch) {
3911
68.6k
        return static_cast<unsigned char>(ch) >> 6 == 0x2;
3912
68.6k
    };
3913
3914
572k
    if (input.size() == 1) {
3915
506k
        SCN_EXPECT(static_cast<unsigned char>(input[0]) < 0x80);
3916
506k
        return static_cast<char32_t>(input[0]);
3917
506k
    }
3918
3919
66.0k
    if (input.size() == 2) {
3920
63.8k
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xe0) == 0xc0);
3921
63.8k
        SCN_EXPECT(is_trailing_code_unit(input[1]));
3922
3923
63.8k
        char32_t cp{};
3924
63.8k
        cp |= (static_cast<char32_t>(input[0]) & 0x1f) << 6;
3925
63.8k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 0;
3926
63.8k
        return cp;
3927
63.8k
    }
3928
3929
2.26k
    if (input.size() == 3) {
3930
1.92k
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf0) == 0xe0);
3931
1.92k
        SCN_EXPECT(is_trailing_code_unit(input[1]));
3932
1.92k
        SCN_EXPECT(is_trailing_code_unit(input[2]));
3933
3934
1.92k
        char32_t cp{};
3935
1.92k
        cp |= (static_cast<char32_t>(input[0]) & 0x0f) << 12;
3936
1.92k
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 6;
3937
1.92k
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 0;
3938
1.92k
        return cp;
3939
1.92k
    }
3940
3941
336
    if (input.size() == 4) {
3942
336
        SCN_EXPECT((static_cast<unsigned char>(input[0]) & 0xf8) == 0xf0);
3943
336
        SCN_EXPECT(static_cast<unsigned char>(input[0]) <= 0xf4);
3944
336
        SCN_EXPECT(is_trailing_code_unit(input[1]));
3945
336
        SCN_EXPECT(is_trailing_code_unit(input[2]));
3946
336
        SCN_EXPECT(is_trailing_code_unit(input[3]));
3947
3948
336
        char32_t cp{};
3949
336
        cp |= (static_cast<char32_t>(input[0]) & 0x07) << 18;
3950
336
        cp |= (static_cast<char32_t>(input[1]) & 0x3f) << 12;
3951
336
        cp |= (static_cast<char32_t>(input[2]) & 0x3f) << 6;
3952
336
        cp |= (static_cast<char32_t>(input[3]) & 0x3f) << 0;
3953
336
        return cp;
3954
336
    }
3955
3956
0
#if !SCN_GCC || SCN_GCC >= SCN_COMPILER(8, 0, 0)
3957
    // gcc 7 thinks we'll get here, even when we won't
3958
0
    SCN_EXPECT(false);
3959
0
#endif
3960
0
    SCN_UNREACHABLE;
3961
0
}
3962
3963
template <typename CharT>
3964
inline constexpr char32_t decode_utf16_code_point_exhaustive(
3965
    std::basic_string_view<CharT> input)
3966
{
3967
    static_assert(sizeof(CharT) == 2);
3968
3969
    SCN_EXPECT(!input.empty() && input.size() <= 2);
3970
3971
    if (input.size() == 1) {
3972
        return static_cast<char32_t>(input[0]);
3973
    }
3974
3975
    const auto lead = static_cast<uint32_t>(input[0]);
3976
    const auto trail = static_cast<uint32_t>(input[1]);
3977
    if (lead < 0xd800 || lead > 0xdbff || trail < 0xdc00 || trail > 0xdfff) {
3978
        SCN_UNLIKELY_ATTR
3979
        return invalid_code_point;
3980
    }
3981
3982
    const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00);
3983
    return static_cast<char32_t>(cp + 0x10000);
3984
}
3985
3986
template <typename CharT>
3987
inline constexpr char32_t decode_utf16_code_point_exhaustive_valid(
3988
    std::basic_string_view<CharT> input)
3989
{
3990
    static_assert(sizeof(CharT) == 2);
3991
3992
    SCN_EXPECT(!input.empty() && input.size() <= 2);
3993
3994
    if (input.size() == 1) {
3995
        return static_cast<char32_t>(input[0]);
3996
    }
3997
3998
    const auto lead = static_cast<uint32_t>(input[0]);
3999
    const auto trail = static_cast<uint32_t>(input[1]);
4000
    SCN_EXPECT(lead >= 0xd800);
4001
    SCN_EXPECT(lead <= 0xdbff);
4002
    SCN_EXPECT(trail >= 0xdc00);
4003
    SCN_EXPECT(trail <= 0xdfff);
4004
4005
    const auto cp = ((lead - 0xd800) << 10) | (trail - 0xdc00);
4006
    return static_cast<char32_t>(cp + 0x10000);
4007
}
4008
4009
template <typename CharT>
4010
inline constexpr char32_t decode_code_point_exhaustive(
4011
    std::basic_string_view<CharT> input)
4012
208M
{
4013
208M
    if constexpr (sizeof(CharT) == 1) {
4014
170M
        return decode_utf8_code_point_exhaustive(input);
4015
170M
    }
4016
170M
    else if constexpr (sizeof(CharT) == 2) {
4017
170M
        return decode_utf16_code_point_exhaustive(input);
4018
170M
    }
4019
170M
    else {
4020
170M
        SCN_EXPECT(input.size() == 1);
4021
170M
        auto cp = static_cast<char32_t>(input.front());
4022
170M
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4023
2.30M
            return invalid_code_point;
4024
2.30M
        }
4025
168M
        return cp;
4026
170M
    }
4027
208M
}
char32_t scn::v3::detail::decode_code_point_exhaustive<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4012
37.1M
{
4013
37.1M
    if constexpr (sizeof(CharT) == 1) {
4014
37.1M
        return decode_utf8_code_point_exhaustive(input);
4015
37.1M
    }
4016
37.1M
    else if constexpr (sizeof(CharT) == 2) {
4017
37.1M
        return decode_utf16_code_point_exhaustive(input);
4018
37.1M
    }
4019
37.1M
    else {
4020
37.1M
        SCN_EXPECT(input.size() == 1);
4021
37.1M
        auto cp = static_cast<char32_t>(input.front());
4022
37.1M
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4023
37.1M
            return invalid_code_point;
4024
37.1M
        }
4025
37.1M
        return cp;
4026
37.1M
    }
4027
37.1M
}
char32_t scn::v3::detail::decode_code_point_exhaustive<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
4012
170M
{
4013
170M
    if constexpr (sizeof(CharT) == 1) {
4014
170M
        return decode_utf8_code_point_exhaustive(input);
4015
170M
    }
4016
170M
    else if constexpr (sizeof(CharT) == 2) {
4017
170M
        return decode_utf16_code_point_exhaustive(input);
4018
170M
    }
4019
170M
    else {
4020
170M
        SCN_EXPECT(input.size() == 1);
4021
170M
        auto cp = static_cast<char32_t>(input.front());
4022
170M
        if (SCN_UNLIKELY(cp >= invalid_code_point)) {
4023
2.30M
            return invalid_code_point;
4024
2.30M
        }
4025
168M
        return cp;
4026
170M
    }
4027
170M
}
4028
4029
template <typename CharT>
4030
inline constexpr char32_t decode_code_point_exhaustive_valid(
4031
    std::basic_string_view<CharT> input)
4032
572k
{
4033
572k
    if constexpr (sizeof(CharT) == 1) {
4034
0
        return decode_utf8_code_point_exhaustive_valid(input);
4035
0
    }
4036
0
    else if constexpr (sizeof(CharT) == 2) {
4037
0
        return decode_utf16_code_point_exhaustive_valid(input);
4038
0
    }
4039
0
    else {
4040
0
        SCN_EXPECT(input.size() == 1);
4041
0
        return static_cast<char32_t>(input.front());
4042
0
    }
4043
572k
}
char32_t scn::v3::detail::decode_code_point_exhaustive_valid<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4032
572k
{
4033
572k
    if constexpr (sizeof(CharT) == 1) {
4034
572k
        return decode_utf8_code_point_exhaustive_valid(input);
4035
572k
    }
4036
572k
    else if constexpr (sizeof(CharT) == 2) {
4037
572k
        return decode_utf16_code_point_exhaustive_valid(input);
4038
572k
    }
4039
572k
    else {
4040
572k
        SCN_EXPECT(input.size() == 1);
4041
572k
        return static_cast<char32_t>(input.front());
4042
572k
    }
4043
572k
}
Unexecuted instantiation: char32_t scn::v3::detail::decode_code_point_exhaustive_valid<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4044
4045
}  // namespace detail
4046
4047
/////////////////////////////////////////////////////////////////
4048
// scan_buffer
4049
/////////////////////////////////////////////////////////////////
4050
4051
namespace detail {
4052
template <typename CharT>
4053
class basic_scan_buffer {
4054
public:
4055
    class forward_iterator;
4056
4057
    using char_type = CharT;
4058
    using range_type =
4059
        ranges::subrange<forward_iterator, ranges::default_sentinel_t>;
4060
4061
    basic_scan_buffer(const basic_scan_buffer&) = delete;
4062
    basic_scan_buffer& operator=(const basic_scan_buffer&) = delete;
4063
    basic_scan_buffer(basic_scan_buffer&&) = delete;
4064
    basic_scan_buffer& operator=(basic_scan_buffer&&) = delete;
4065
7.52M
    virtual ~basic_scan_buffer() = default;
scn::v3::detail::basic_scan_buffer<char>::~basic_scan_buffer()
Line
Count
Source
4065
5.64M
    virtual ~basic_scan_buffer() = default;
scn::v3::detail::basic_scan_buffer<wchar_t>::~basic_scan_buffer()
Line
Count
Source
4065
1.87M
    virtual ~basic_scan_buffer() = default;
4066
4067
    virtual bool fill() = 0;
4068
4069
    virtual void sync(std::ptrdiff_t position)
4070
7.52M
    {
4071
7.52M
        SCN_UNUSED(position);
4072
7.52M
    }
scn::v3::detail::basic_scan_buffer<char>::sync(long)
Line
Count
Source
4070
5.64M
    {
4071
5.64M
        SCN_UNUSED(position);
4072
5.64M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::sync(long)
Line
Count
Source
4070
1.87M
    {
4071
1.87M
        SCN_UNUSED(position);
4072
1.87M
    }
4073
4074
    void sync_all()
4075
1.26M
    {
4076
1.26M
        sync(0);
4077
1.26M
    }
scn::v3::detail::basic_scan_buffer<char>::sync_all()
Line
Count
Source
4075
423k
    {
4076
423k
        sync(0);
4077
423k
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::sync_all()
Line
Count
Source
4075
846k
    {
4076
846k
        sync(0);
4077
846k
    }
4078
4079
    SCN_NODISCARD std::ptrdiff_t chars_available() const
4080
197G
    {
4081
197G
        return m_putback_buffer.size() + m_current_view.size();
4082
197G
    }
scn::v3::detail::basic_scan_buffer<char>::chars_available() const
Line
Count
Source
4080
544M
    {
4081
544M
        return m_putback_buffer.size() + m_current_view.size();
4082
544M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::chars_available() const
Line
Count
Source
4080
196G
    {
4081
196G
        return m_putback_buffer.size() + m_current_view.size();
4082
196G
    }
4083
4084
    SCN_NODISCARD std::basic_string_view<CharT> current_view() const
4085
0
    {
4086
0
        return m_current_view;
4087
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::current_view() const
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::current_view() const
4088
4089
    SCN_NODISCARD std::basic_string<CharT>& putback_buffer()
4090
0
    {
4091
0
        return m_putback_buffer;
4092
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::putback_buffer()
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::putback_buffer()
4093
    SCN_NODISCARD const std::basic_string<CharT>& putback_buffer() const
4094
    {
4095
        return m_putback_buffer;
4096
    }
4097
4098
    SCN_NODISCARD std::basic_string_view<CharT> get_segment_starting_at(
4099
        std::ptrdiff_t pos) const
4100
24.4M
    {
4101
24.4M
        if (SCN_UNLIKELY(
4102
24.4M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4103
10.0M
            return std::basic_string_view<CharT>(m_putback_buffer).substr(pos);
4104
10.0M
        }
4105
14.4M
        const auto start = pos - m_putback_buffer.size();
4106
14.4M
        SCN_EXPECT(start <= m_current_view.size());
4107
14.4M
        return m_current_view.substr(start);
4108
14.4M
    }
scn::v3::detail::basic_scan_buffer<char>::get_segment_starting_at(long) const
Line
Count
Source
4100
20.5M
    {
4101
20.5M
        if (SCN_UNLIKELY(
4102
20.5M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4103
7.94M
            return std::basic_string_view<CharT>(m_putback_buffer).substr(pos);
4104
7.94M
        }
4105
12.6M
        const auto start = pos - m_putback_buffer.size();
4106
12.6M
        SCN_EXPECT(start <= m_current_view.size());
4107
12.6M
        return m_current_view.substr(start);
4108
12.6M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::get_segment_starting_at(long) const
Line
Count
Source
4100
3.81M
    {
4101
3.81M
        if (SCN_UNLIKELY(
4102
3.81M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4103
2.06M
            return std::basic_string_view<CharT>(m_putback_buffer).substr(pos);
4104
2.06M
        }
4105
1.74M
        const auto start = pos - m_putback_buffer.size();
4106
1.74M
        SCN_EXPECT(start <= m_current_view.size());
4107
1.74M
        return m_current_view.substr(start);
4108
1.74M
    }
4109
4110
    SCN_NODISCARD CharT get_character_at(std::ptrdiff_t pos) const
4111
280M
    {
4112
280M
        if (SCN_UNLIKELY(
4113
280M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4114
111M
            return m_putback_buffer[pos];
4115
111M
        }
4116
169M
        const auto start = pos - m_putback_buffer.size();
4117
169M
        SCN_EXPECT(start < m_current_view.size());
4118
169M
        return m_current_view[start];
4119
169M
    }
scn::v3::detail::basic_scan_buffer<char>::get_character_at(long) const
Line
Count
Source
4111
117M
    {
4112
117M
        if (SCN_UNLIKELY(
4113
117M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4114
73.5M
            return m_putback_buffer[pos];
4115
73.5M
        }
4116
43.8M
        const auto start = pos - m_putback_buffer.size();
4117
43.8M
        SCN_EXPECT(start < m_current_view.size());
4118
43.8M
        return m_current_view[start];
4119
43.8M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::get_character_at(long) const
Line
Count
Source
4111
163M
    {
4112
163M
        if (SCN_UNLIKELY(
4113
163M
                pos < static_cast<std::ptrdiff_t>(m_putback_buffer.size()))) {
4114
37.4M
            return m_putback_buffer[pos];
4115
37.4M
        }
4116
125M
        const auto start = pos - m_putback_buffer.size();
4117
125M
        SCN_EXPECT(start < m_current_view.size());
4118
125M
        return m_current_view[start];
4119
125M
    }
4120
4121
    SCN_NODISCARD bool is_contiguous() const
4122
22.5M
    {
4123
22.5M
        return m_is_contiguous;
4124
22.5M
    }
scn::v3::detail::basic_scan_buffer<char>::is_contiguous() const
Line
Count
Source
4122
16.9M
    {
4123
16.9M
        return m_is_contiguous;
4124
16.9M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::is_contiguous() const
Line
Count
Source
4122
5.63M
    {
4123
5.63M
        return m_is_contiguous;
4124
5.63M
    }
4125
4126
    SCN_NODISCARD auto get_contiguous() const
4127
0
    {
4128
0
        SCN_EXPECT(is_contiguous());
4129
0
        return ranges::subrange<const CharT*>{
4130
0
            current_view().data(),
4131
0
            current_view().data() + current_view().size()};
4132
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::get_contiguous() const
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::get_contiguous() const
4133
4134
    SCN_NODISCARD range_type get();
4135
4136
protected:
4137
    friend class forward_iterator;
4138
4139
    struct contiguous_tag {};
4140
    struct non_contiguous_tag {};
4141
4142
    basic_scan_buffer(contiguous_tag, std::basic_string_view<char_type> sv)
4143
        : m_current_view(sv), m_is_contiguous(true)
4144
0
    {
4145
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::basic_scan_buffer(scn::v3::detail::basic_scan_buffer<char>::contiguous_tag, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(scn::v3::detail::basic_scan_buffer<wchar_t>::contiguous_tag, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4146
4147
    basic_scan_buffer(non_contiguous_tag,
4148
                      std::basic_string_view<char_type> sv = {})
4149
        : m_current_view(sv), m_is_contiguous(false)
4150
7.52M
    {
4151
7.52M
    }
scn::v3::detail::basic_scan_buffer<char>::basic_scan_buffer(scn::v3::detail::basic_scan_buffer<char>::non_contiguous_tag, std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
4150
5.64M
    {
4151
5.64M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::basic_scan_buffer(scn::v3::detail::basic_scan_buffer<wchar_t>::non_contiguous_tag, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
4150
1.87M
    {
4151
1.87M
    }
4152
4153
    basic_scan_buffer(bool is_contiguous, std::basic_string_view<char_type> sv)
4154
        : m_current_view(sv), m_is_contiguous(is_contiguous)
4155
    {
4156
    }
4157
4158
    std::basic_string_view<char_type> m_current_view{};
4159
    std::basic_string<char_type> m_putback_buffer{};
4160
    bool m_is_contiguous{false};
4161
};
4162
4163
template <typename CharT>
4164
class basic_scan_buffer<CharT>::forward_iterator {
4165
public:
4166
    using value_type = CharT;
4167
    using reference = CharT;
4168
    using pointer = CharT*;
4169
    using difference_type = std::ptrdiff_t;
4170
    using iterator_category = std::forward_iterator_tag;
4171
4172
    forward_iterator() = default;
4173
4174
    forward_iterator(basic_scan_buffer<CharT>* parent, std::ptrdiff_t pos)
4175
        : m_begin(parent), m_end(nullptr), m_position(pos)
4176
7.52M
    {
4177
7.52M
        SCN_EXPECT(parent);
4178
7.52M
        SCN_EXPECT(!parent->is_contiguous());
4179
7.52M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(scn::v3::detail::basic_scan_buffer<char>*, long)
Line
Count
Source
4176
5.64M
    {
4177
5.64M
        SCN_EXPECT(parent);
4178
5.64M
        SCN_EXPECT(!parent->is_contiguous());
4179
5.64M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(scn::v3::detail::basic_scan_buffer<wchar_t>*, long)
Line
Count
Source
4176
1.87M
    {
4177
1.87M
        SCN_EXPECT(parent);
4178
1.87M
        SCN_EXPECT(!parent->is_contiguous());
4179
1.87M
    }
4180
4181
    forward_iterator(std::basic_string_view<CharT> view, std::ptrdiff_t pos)
4182
        : m_begin(const_cast<CharT*>(view.data())),
4183
          m_end(const_cast<CharT*>(view.data() + view.size())),
4184
          m_position(pos)
4185
0
    {
4186
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::forward_iterator::forward_iterator(std::__1::basic_string_view<char, std::__1::char_traits<char> >, long)
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::forward_iterator(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, long)
4187
4188
    std::ptrdiff_t position() const
4189
41.3M
    {
4190
41.3M
        return m_position;
4191
41.3M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::position() const
Line
Count
Source
4189
35.4M
    {
4190
35.4M
        return m_position;
4191
35.4M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::position() const
Line
Count
Source
4189
5.93M
    {
4190
5.93M
        return m_position;
4191
5.93M
    }
4192
4193
    bool stores_parent() const
4194
394G
    {
4195
394G
        return m_end == nullptr;
4196
394G
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::stores_parent() const
Line
Count
Source
4194
1.31G
    {
4195
1.31G
        return m_end == nullptr;
4196
1.31G
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::stores_parent() const
Line
Count
Source
4194
393G
    {
4195
393G
        return m_end == nullptr;
4196
393G
    }
4197
4198
    basic_scan_buffer<CharT>* parent()
4199
11.9M
    {
4200
11.9M
        SCN_EXPECT(stores_parent());
4201
11.9M
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4202
11.9M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::parent()
Line
Count
Source
4199
10.4M
    {
4200
10.4M
        SCN_EXPECT(stores_parent());
4201
10.4M
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4202
10.4M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent()
Line
Count
Source
4199
1.52M
    {
4200
1.52M
        SCN_EXPECT(stores_parent());
4201
1.52M
        return static_cast<basic_scan_buffer<CharT>*>(m_begin);
4202
1.52M
    }
4203
    const basic_scan_buffer<CharT>* parent() const
4204
197G
    {
4205
197G
        SCN_EXPECT(stores_parent());
4206
197G
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4207
197G
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::parent() const
Line
Count
Source
4204
728M
    {
4205
728M
        SCN_EXPECT(stores_parent());
4206
728M
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4207
728M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::parent() const
Line
Count
Source
4204
196G
    {
4205
196G
        SCN_EXPECT(stores_parent());
4206
196G
        return static_cast<const basic_scan_buffer<CharT>*>(m_begin);
4207
196G
    }
4208
4209
    std::basic_string_view<CharT> contiguous_segment() const
4210
24.4M
    {
4211
24.4M
        if (!stores_parent()) {
4212
0
            return make_string_view_from_pointers(
4213
0
                static_cast<const CharT*>(m_begin) + position(),
4214
0
                static_cast<const CharT*>(m_end));
4215
0
        }
4216
24.4M
        return parent()->get_segment_starting_at(position());
4217
24.4M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::contiguous_segment() const
Line
Count
Source
4210
20.5M
    {
4211
20.5M
        if (!stores_parent()) {
4212
0
            return make_string_view_from_pointers(
4213
0
                static_cast<const CharT*>(m_begin) + position(),
4214
0
                static_cast<const CharT*>(m_end));
4215
0
        }
4216
20.5M
        return parent()->get_segment_starting_at(position());
4217
20.5M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::contiguous_segment() const
Line
Count
Source
4210
3.81M
    {
4211
3.81M
        if (!stores_parent()) {
4212
0
            return make_string_view_from_pointers(
4213
0
                static_cast<const CharT*>(m_begin) + position(),
4214
0
                static_cast<const CharT*>(m_end));
4215
0
        }
4216
3.81M
        return parent()->get_segment_starting_at(position());
4217
3.81M
    }
4218
    auto to_contiguous_segment_iterator() const
4219
    {
4220
        return contiguous_segment().data();
4221
    }
4222
4223
    forward_iterator& operator++()
4224
196G
    {
4225
196G
        ++m_position;
4226
196G
        (void)read_at_position();
4227
196G
        return *this;
4228
196G
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::operator++()
Line
Count
Source
4224
202M
    {
4225
202M
        ++m_position;
4226
202M
        (void)read_at_position();
4227
202M
        return *this;
4228
202M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator++()
Line
Count
Source
4224
195G
    {
4225
195G
        ++m_position;
4226
195G
        (void)read_at_position();
4227
195G
        return *this;
4228
195G
    }
4229
4230
    forward_iterator operator++(int)
4231
    {
4232
        auto copy = *this;
4233
        operator++();
4234
        return copy;
4235
    }
4236
4237
    CharT operator*() const
4238
280M
    {
4239
280M
        SCN_EXPECT(m_begin);
4240
4241
280M
        if (!stores_parent()) {
4242
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4243
0
            SCN_EXPECT(ptr != m_end);
4244
0
            return *ptr;
4245
0
        }
4246
4247
280M
        auto res = read_at_position();
4248
280M
        SCN_EXPECT(res);
4249
280M
        return parent()->get_character_at(m_position);
4250
280M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::operator*() const
Line
Count
Source
4238
117M
    {
4239
117M
        SCN_EXPECT(m_begin);
4240
4241
117M
        if (!stores_parent()) {
4242
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4243
0
            SCN_EXPECT(ptr != m_end);
4244
0
            return *ptr;
4245
0
        }
4246
4247
117M
        auto res = read_at_position();
4248
117M
        SCN_EXPECT(res);
4249
117M
        return parent()->get_character_at(m_position);
4250
117M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::operator*() const
Line
Count
Source
4238
163M
    {
4239
163M
        SCN_EXPECT(m_begin);
4240
4241
163M
        if (!stores_parent()) {
4242
0
            auto ptr = static_cast<const CharT*>(m_begin) + position();
4243
0
            SCN_EXPECT(ptr != m_end);
4244
0
            return *ptr;
4245
0
        }
4246
4247
163M
        auto res = read_at_position();
4248
163M
        SCN_EXPECT(res);
4249
163M
        return parent()->get_character_at(m_position);
4250
163M
    }
4251
4252
    forward_iterator& batch_advance(std::ptrdiff_t n)
4253
    {
4254
        SCN_EXPECT(n >= 0);
4255
        m_position += n;
4256
        return *this;
4257
    }
4258
4259
    forward_iterator& batch_advance_to(std::ptrdiff_t i)
4260
0
    {
4261
0
        SCN_EXPECT(i >= m_position);
4262
0
        m_position = i;
4263
0
        return *this;
4264
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<char>::forward_iterator::batch_advance_to(long)
Unexecuted instantiation: scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::batch_advance_to(long)
4265
4266
    friend bool operator==(const forward_iterator& lhs,
4267
                           const forward_iterator& rhs)
4268
196G
    {
4269
196G
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4270
196G
    }
scn::v3::detail::operator==(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
4268
110M
    {
4269
110M
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4270
110M
    }
scn::v3::detail::operator==(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
4268
195G
    {
4269
195G
        return lhs.m_begin == rhs.m_begin && lhs.m_position == rhs.m_position;
4270
195G
    }
4271
    friend bool operator!=(const forward_iterator& lhs,
4272
                           const forward_iterator& rhs)
4273
196G
    {
4274
196G
        return !(lhs == rhs);
4275
196G
    }
scn::v3::detail::operator!=(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&)
Line
Count
Source
4273
100M
    {
4274
100M
        return !(lhs == rhs);
4275
100M
    }
scn::v3::detail::operator!=(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&)
Line
Count
Source
4273
195G
    {
4274
195G
        return !(lhs == rhs);
4275
195G
    }
4276
4277
    friend bool operator==(const forward_iterator& x,
4278
                           ranges::default_sentinel_t)
4279
79.1M
    {
4280
79.1M
        return x.is_at_end();
4281
79.1M
    }
scn::v3::detail::operator==(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
4279
42.9M
    {
4280
42.9M
        return x.is_at_end();
4281
42.9M
    }
scn::v3::detail::operator==(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
4279
36.2M
    {
4280
36.2M
        return x.is_at_end();
4281
36.2M
    }
4282
    friend bool operator==(ranges::default_sentinel_t,
4283
                           const forward_iterator& x)
4284
    {
4285
        return x.is_at_end();
4286
    }
4287
4288
    friend bool operator!=(const forward_iterator& x,
4289
                           ranges::default_sentinel_t)
4290
187M
    {
4291
187M
        return !x.is_at_end();
4292
187M
    }
scn::v3::detail::operator!=(scn::v3::detail::basic_scan_buffer<char>::forward_iterator const&, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
4290
59.5M
    {
4291
59.5M
        return !x.is_at_end();
4292
59.5M
    }
scn::v3::detail::operator!=(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator const&, scn::v3::ranges::default_sentinel_t)
Line
Count
Source
4290
127M
    {
4291
127M
        return !x.is_at_end();
4292
127M
    }
4293
    friend bool operator!=(ranges::default_sentinel_t,
4294
                           const forward_iterator& x)
4295
    {
4296
        return !x.is_at_end();
4297
    }
4298
4299
private:
4300
    friend class basic_scan_buffer<CharT>;
4301
4302
    SCN_NODISCARD bool read_at_position() const
4303
196G
    {
4304
196G
        SCN_EXPECT(m_begin);
4305
4306
196G
        if (!stores_parent()) {
4307
0
            return true;
4308
0
        }
4309
4310
196G
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4311
196G
            return true;
4312
196G
        }
4313
4314
368M
        while (m_position >= parent()->chars_available()) {
4315
184M
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4316
1.13M
                return false;
4317
1.13M
            }
4318
184M
        }
4319
183M
        return true;
4320
184M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::read_at_position() const
Line
Count
Source
4303
422M
    {
4304
422M
        SCN_EXPECT(m_begin);
4305
4306
422M
        if (!stores_parent()) {
4307
0
            return true;
4308
0
        }
4309
4310
422M
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4311
366M
            return true;
4312
366M
        }
4313
4314
111M
        while (m_position >= parent()->chars_available()) {
4315
56.2M
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4316
773k
                return false;
4317
773k
            }
4318
56.2M
        }
4319
55.5M
        return true;
4320
56.2M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::read_at_position() const
Line
Count
Source
4303
196G
    {
4304
196G
        SCN_EXPECT(m_begin);
4305
4306
196G
        if (!stores_parent()) {
4307
0
            return true;
4308
0
        }
4309
4310
196G
        if (SCN_LIKELY(m_position < parent()->chars_available())) {
4311
196G
            return true;
4312
196G
        }
4313
4314
256M
        while (m_position >= parent()->chars_available()) {
4315
128M
            if (!const_cast<basic_scan_buffer<CharT>*>(parent())->fill()) {
4316
362k
                return false;
4317
362k
            }
4318
128M
        }
4319
128M
        return true;
4320
128M
    }
4321
4322
    SCN_NODISCARD bool is_at_end() const
4323
266M
    {
4324
266M
        if (m_end) {
4325
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4326
0
        }
4327
266M
        if (!m_begin) {
4328
0
            return true;
4329
0
        }
4330
266M
        return !read_at_position();
4331
266M
    }
scn::v3::detail::basic_scan_buffer<char>::forward_iterator::is_at_end() const
Line
Count
Source
4323
102M
    {
4324
102M
        if (m_end) {
4325
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4326
0
        }
4327
102M
        if (!m_begin) {
4328
0
            return true;
4329
0
        }
4330
102M
        return !read_at_position();
4331
102M
    }
scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator::is_at_end() const
Line
Count
Source
4323
164M
    {
4324
164M
        if (m_end) {
4325
0
            return (static_cast<const CharT*>(m_begin) + position()) == m_end;
4326
0
        }
4327
164M
        if (!m_begin) {
4328
0
            return true;
4329
0
        }
4330
164M
        return !read_at_position();
4331
164M
    }
4332
4333
    // If m_end is null, m_begin points to the parent scan_buffer
4334
    // Otherwise, [m_begin, m_end) is the range of this iterator (and of
4335
    // the entire range)
4336
    mutable void* m_begin{nullptr};
4337
    mutable void* m_end{nullptr};
4338
    std::ptrdiff_t m_position{0};
4339
};
4340
4341
template <typename CharT>
4342
SCN_NODISCARD auto basic_scan_buffer<CharT>::get() -> range_type
4343
7.52M
{
4344
7.52M
    if (is_contiguous()) {
4345
0
        return ranges::subrange{forward_iterator{m_current_view, 0},
4346
0
                                ranges::default_sentinel};
4347
0
    }
4348
7.52M
    return ranges::subrange{forward_iterator{this, 0},
4349
7.52M
                            ranges::default_sentinel};
4350
7.52M
}
scn::v3::detail::basic_scan_buffer<char>::get()
Line
Count
Source
4343
5.64M
{
4344
5.64M
    if (is_contiguous()) {
4345
0
        return ranges::subrange{forward_iterator{m_current_view, 0},
4346
0
                                ranges::default_sentinel};
4347
0
    }
4348
5.64M
    return ranges::subrange{forward_iterator{this, 0},
4349
5.64M
                            ranges::default_sentinel};
4350
5.64M
}
scn::v3::detail::basic_scan_buffer<wchar_t>::get()
Line
Count
Source
4343
1.87M
{
4344
1.87M
    if (is_contiguous()) {
4345
0
        return ranges::subrange{forward_iterator{m_current_view, 0},
4346
0
                                ranges::default_sentinel};
4347
0
    }
4348
1.87M
    return ranges::subrange{forward_iterator{this, 0},
4349
1.87M
                            ranges::default_sentinel};
4350
1.87M
}
4351
4352
static_assert(ranges::forward_range<scan_buffer::range_type>);
4353
4354
template <typename CharT>
4355
class basic_scan_string_buffer : public basic_scan_buffer<CharT> {
4356
    using base = basic_scan_buffer<CharT>;
4357
4358
public:
4359
    basic_scan_string_buffer(std::basic_string_view<CharT> sv)
4360
        : base(typename base::contiguous_tag{}, sv)
4361
0
    {
4362
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_string_buffer<char>::basic_scan_string_buffer(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Unexecuted instantiation: scn::v3::detail::basic_scan_string_buffer<wchar_t>::basic_scan_string_buffer(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
4363
4364
    bool fill() override
4365
0
    {
4366
0
        SCN_EXPECT(false);
4367
0
        SCN_UNREACHABLE;
4368
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_string_buffer<char>::fill()
Unexecuted instantiation: scn::v3::detail::basic_scan_string_buffer<wchar_t>::fill()
4369
};
4370
4371
template <typename CharT>
4372
basic_scan_string_buffer(std::basic_string_view<CharT>)
4373
    -> basic_scan_string_buffer<CharT>;
4374
4375
template <typename CharT>
4376
class basic_scan_forward_buffer_base : public basic_scan_buffer<CharT> {
4377
    using base = basic_scan_buffer<CharT>;
4378
4379
protected:
4380
    basic_scan_forward_buffer_base() : base(typename base::non_contiguous_tag{})
4381
7.52M
    {
4382
7.52M
    }
scn::v3::detail::basic_scan_forward_buffer_base<char>::basic_scan_forward_buffer_base()
Line
Count
Source
4381
5.64M
    {
4382
5.64M
    }
scn::v3::detail::basic_scan_forward_buffer_base<wchar_t>::basic_scan_forward_buffer_base()
Line
Count
Source
4381
1.87M
    {
4382
1.87M
    }
4383
};
4384
4385
template <typename I, typename S>
4386
using less_than_compare =
4387
    decltype(SCN_DECLVAL(const I&) < SCN_DECLVAL(const S&));
4388
4389
template <typename Range>
4390
class basic_scan_forward_buffer_impl
4391
    : public basic_scan_forward_buffer_base<detail::char_t<Range>> {
4392
    static_assert(ranges::range<const Range> && std::is_object_v<Range>);
4393
4394
    using _char_type = detail::char_t<Range>;
4395
    using base = basic_scan_forward_buffer_base<_char_type>;
4396
4397
public:
4398
    using char_type = _char_type;
4399
    using range_type = Range;
4400
    using iterator = ranges::iterator_t<const Range>;
4401
    using sentinel = ranges::sentinel_t<const Range>;
4402
4403
    template <
4404
        typename R,
4405
        std::enable_if_t<is_not_self<R, basic_scan_forward_buffer_impl> &&
4406
                         std::is_convertible_v<R, const Range&>>* = nullptr>
4407
    basic_scan_forward_buffer_impl(R&& r)
4408
        : m_range(std::addressof(static_cast<const Range&>(SCN_FWD(r)))),
4409
          m_cursor(ranges::begin(*m_range))
4410
7.52M
    {
4411
7.52M
    }
scn::v3::detail::basic_scan_forward_buffer_impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::basic_scan_forward_buffer_impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&)
Line
Count
Source
4410
5.64M
    {
4411
5.64M
    }
scn::v3::detail::basic_scan_forward_buffer_impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::basic_scan_forward_buffer_impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&)
Line
Count
Source
4410
1.87M
    {
4411
1.87M
    }
4412
4413
    bool fill() override
4414
184M
    {
4415
184M
        if (m_cursor == ranges::end(*m_range)) {
4416
1.13M
            return false;
4417
1.13M
        }
4418
183M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4419
183M
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4420
183M
        }
4421
183M
        if (!this->m_current_view.empty()) {
4422
176M
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4423
176M
                                          this->m_current_view.begin(),
4424
176M
                                          this->m_current_view.end());
4425
176M
        }
4426
183M
        m_latest = *m_cursor;
4427
183M
        ++m_cursor;
4428
183M
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4429
183M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4430
183M
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4431
183M
        }
4432
183M
        return true;
4433
183M
    }
scn::v3::detail::basic_scan_forward_buffer_impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::fill()
Line
Count
Source
4414
56.2M
    {
4415
56.2M
        if (m_cursor == ranges::end(*m_range)) {
4416
773k
            return false;
4417
773k
        }
4418
55.5M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4419
55.5M
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4420
55.5M
        }
4421
55.5M
        if (!this->m_current_view.empty()) {
4422
49.9M
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4423
49.9M
                                          this->m_current_view.begin(),
4424
49.9M
                                          this->m_current_view.end());
4425
49.9M
        }
4426
55.5M
        m_latest = *m_cursor;
4427
55.5M
        ++m_cursor;
4428
55.5M
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4429
55.5M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4430
55.5M
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4431
55.5M
        }
4432
55.5M
        return true;
4433
55.5M
    }
scn::v3::detail::basic_scan_forward_buffer_impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::fill()
Line
Count
Source
4414
128M
    {
4415
128M
        if (m_cursor == ranges::end(*m_range)) {
4416
362k
            return false;
4417
362k
        }
4418
128M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4419
128M
            SCN_EXPECT(m_cursor < ranges::end(*m_range));
4420
128M
        }
4421
128M
        if (!this->m_current_view.empty()) {
4422
126M
            this->m_putback_buffer.insert(this->m_putback_buffer.end(),
4423
126M
                                          this->m_current_view.begin(),
4424
126M
                                          this->m_current_view.end());
4425
126M
        }
4426
128M
        m_latest = *m_cursor;
4427
128M
        ++m_cursor;
4428
128M
        this->m_current_view = std::basic_string_view<char_type>{&m_latest, 1};
4429
128M
        if constexpr (mp_valid_v<less_than_compare, iterator, sentinel>) {
4430
128M
            SCN_EXPECT(m_cursor <= ranges::end(*m_range));
4431
128M
        }
4432
128M
        return true;
4433
128M
    }
4434
4435
private:
4436
    const Range* m_range;
4437
    iterator m_cursor;
4438
    char_type m_latest{};
4439
};
4440
4441
template <typename R>
4442
basic_scan_forward_buffer_impl(const R&) -> basic_scan_forward_buffer_impl<R>;
4443
4444
class scan_file_buffer : public basic_scan_buffer<char> {
4445
    using base = basic_scan_buffer<char>;
4446
4447
public:
4448
    scan_file_buffer(std::FILE* file);
4449
    ~scan_file_buffer();
4450
4451
    bool fill() override;
4452
    void sync(std::ptrdiff_t position) override;
4453
4454
private:
4455
    std::FILE* m_file;
4456
    std::optional<char_type> m_latest{std::nullopt};
4457
};
4458
4459
template <typename CharT>
4460
class basic_scan_ref_buffer : public basic_scan_buffer<CharT> {
4461
    using base = basic_scan_buffer<CharT>;
4462
4463
public:
4464
    basic_scan_ref_buffer(base& other, std::ptrdiff_t starting_pos)
4465
        : base(other.is_contiguous(), std::basic_string_view<CharT>{}),
4466
          m_other(&other),
4467
          m_starting_pos(starting_pos)
4468
    {
4469
        this->m_current_view = other.get_segment_starting_at(starting_pos);
4470
        m_fill_needs_to_propagate = other.get_segment_starting_at(0).end() ==
4471
                                    this->m_current_view.end();
4472
    }
4473
4474
    basic_scan_ref_buffer(std::basic_string_view<CharT> view)
4475
        : base(true, view), m_other(nullptr)
4476
    {
4477
    }
4478
4479
    bool fill() override
4480
0
    {
4481
0
        if (!m_other) {
4482
0
            return false;
4483
0
        }
4484
0
        SCN_EXPECT(m_starting_pos >= 0);
4485
0
4486
0
        if (m_fill_needs_to_propagate) {
4487
0
            auto ret = m_other->fill();
4488
0
            this->m_current_view = m_other->current_view();
4489
0
            this->m_putback_buffer =
4490
0
                m_other->putback_buffer().substr(m_starting_pos);
4491
0
            return ret;
4492
0
        }
4493
0
4494
0
        m_fill_needs_to_propagate = true;
4495
0
        this->m_putback_buffer = std::basic_string<CharT>{this->m_current_view};
4496
0
        this->m_current_view = m_other->current_view();
4497
0
        return true;
4498
0
    }
Unexecuted instantiation: scn::v3::detail::basic_scan_ref_buffer<char>::fill()
Unexecuted instantiation: scn::v3::detail::basic_scan_ref_buffer<wchar_t>::fill()
4499
4500
private:
4501
    base* m_other;
4502
    std::ptrdiff_t m_starting_pos{-1};
4503
    bool m_fill_needs_to_propagate{false};
4504
};
4505
4506
template <typename CharT>
4507
basic_scan_ref_buffer(basic_scan_buffer<CharT>&, std::ptrdiff_t)
4508
    -> basic_scan_ref_buffer<CharT>;
4509
4510
template <typename CharT>
4511
basic_scan_ref_buffer(std::basic_string_view<CharT>)
4512
    -> basic_scan_ref_buffer<CharT>;
4513
4514
template <typename Range>
4515
auto make_string_scan_buffer(const Range& range)
4516
{
4517
    return basic_scan_string_buffer(
4518
        std::basic_string_view{ranges::data(range), ranges::size(range)});
4519
}
4520
4521
template <typename Range>
4522
auto make_forward_scan_buffer(const Range& range)
4523
7.52M
{
4524
7.52M
    return basic_scan_forward_buffer_impl(range);
4525
7.52M
}
auto scn::v3::detail::make_forward_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&)
Line
Count
Source
4523
5.64M
{
4524
5.64M
    return basic_scan_forward_buffer_impl(range);
4525
5.64M
}
auto scn::v3::detail::make_forward_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&)
Line
Count
Source
4523
1.87M
{
4524
1.87M
    return basic_scan_forward_buffer_impl(range);
4525
1.87M
}
4526
4527
inline auto make_file_scan_buffer(std::FILE* file)
4528
0
{
4529
0
    return scan_file_buffer(file);
4530
0
}
4531
}  // namespace detail
4532
4533
/////////////////////////////////////////////////////////////////
4534
// make_scan_buffer
4535
/////////////////////////////////////////////////////////////////
4536
4537
/**
4538
 * \defgroup scannable Scannable sources
4539
 *
4540
 * \brief Description of the `scannable_range` and `scannable_source`
4541
 * concepts.
4542
 *
4543
 * A range is considered scannable, if it models at least `forward_range`,
4544
 * and its character type is correct (its value type is the same as the one
4545
 * of the format string).
4546
 * If the range additionally models `contiguous_range` and `sized_range`,
4547
 * additional optimizations are enabled.
4548
 *
4549
 * \code{.cpp}
4550
 * // Exposition only
4551
 * template <typename Range, typename CharT>
4552
 * concept scannable_range =
4553
 *     ranges::forward_range<Range> &&
4554
 *     std::same_as<ranges::range_value_t<Range>, CharT>;
4555
 * \endcode
4556
 *
4557
 * Additionally, files (`std::FILE*`) can be scanned from.
4558
 * Files are always considered to be narrow (`char`-oriented).
4559
 * Thus, the entire concept is:
4560
 *
4561
 * \code{.cpp}
4562
 * // Exposition only
4563
 * template <typename Source, typename CharT>
4564
 * concept scannable_source =
4565
 *   (std::same_as<std::remove_cvref_t<Source>, std::FILE*> &&
4566
 *    std::same_as<CharT, char>) ||
4567
 *   scannable_range<Source, CharT>;
4568
 * \endcode
4569
 */
4570
4571
/**
4572
 * Tag type to indicate an invalid range given to `scn::scan`
4573
 *
4574
 * \ingroup scannable
4575
 */
4576
struct invalid_input_range {};
4577
4578
struct invalid_char_type : invalid_input_range {};
4579
struct custom_char_traits : invalid_input_range {};
4580
struct file_marker_found : invalid_input_range {};
4581
struct insufficient_range : invalid_input_range {};
4582
4583
namespace detail {
4584
template <typename CharT>
4585
inline constexpr bool is_valid_char_type =
4586
    std::is_same_v<std::remove_const_t<CharT>, char> ||
4587
    std::is_same_v<std::remove_const_t<CharT>, wchar_t>;
4588
4589
namespace _make_scan_buffer {
4590
// buffer -> ref_buffer
4591
inline auto impl(scan_buffer::range_type r, priority_tag<4>) noexcept
4592
    -> basic_scan_ref_buffer<char>
4593
0
{
4594
0
    if (!r.begin().stores_parent()) {
4595
0
        return basic_scan_ref_buffer{r.begin().contiguous_segment()};
4596
0
    }
4597
0
    return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()};
4598
0
}
4599
inline auto impl(wscan_buffer::range_type r, priority_tag<4>) noexcept
4600
    -> basic_scan_ref_buffer<wchar_t>
4601
0
{
4602
0
    if (!r.begin().stores_parent()) {
4603
0
        return basic_scan_ref_buffer{r.begin().contiguous_segment()};
4604
0
    }
4605
0
    return basic_scan_ref_buffer{*r.begin().parent(), r.begin().position()};
4606
0
}
4607
4608
// string_view -> string_buffer
4609
template <typename CharT>
4610
auto impl(std::basic_string_view<CharT> r, priority_tag<3>) noexcept
4611
858k
{
4612
858k
    if constexpr (is_valid_char_type<CharT>) {
4613
858k
        return r;
4614
        // return make_string_scan_buffer(r);
4615
858k
    }
4616
858k
    else {
4617
858k
        return invalid_char_type{};
4618
858k
    }
4619
858k
}
auto scn::v3::detail::_make_scan_buffer::impl<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::detail::priority_tag<3ul>)
Line
Count
Source
4611
286k
{
4612
286k
    if constexpr (is_valid_char_type<CharT>) {
4613
286k
        return r;
4614
        // return make_string_scan_buffer(r);
4615
286k
    }
4616
286k
    else {
4617
286k
        return invalid_char_type{};
4618
286k
    }
4619
286k
}
auto scn::v3::detail::_make_scan_buffer::impl<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::detail::priority_tag<3ul>)
Line
Count
Source
4611
572k
{
4612
572k
    if constexpr (is_valid_char_type<CharT>) {
4613
572k
        return r;
4614
        // return make_string_scan_buffer(r);
4615
572k
    }
4616
572k
    else {
4617
572k
        return invalid_char_type{};
4618
572k
    }
4619
572k
}
4620
4621
// string& -> string_buffer
4622
template <typename CharT, typename Traits, typename Allocator>
4623
auto impl(const std::basic_string<CharT, Traits, Allocator>& r,
4624
          priority_tag<3>) noexcept
4625
{
4626
    if constexpr (!is_valid_char_type<CharT>) {
4627
        return invalid_char_type{};
4628
    }
4629
    else if constexpr (!std::is_same_v<Traits, std::char_traits<CharT>>) {
4630
        return custom_char_traits{};
4631
    }
4632
    else {
4633
        return std::basic_string_view<CharT>{r};
4634
    }
4635
}
4636
4637
// String literals:
4638
// CharT(&)[] -> string_buffer
4639
template <typename CharT,
4640
          std::size_t N,
4641
          std::enable_if_t<is_valid_char_type<CharT>>* = nullptr>
4642
auto impl(const CharT (&r)[N], priority_tag<3>) noexcept
4643
{
4644
    return std::basic_string_view<CharT>{r, N - 1};
4645
}
4646
4647
// FILE* -> file_buffer
4648
inline auto impl(std::FILE* file, priority_tag<3>)
4649
0
{
4650
0
    return make_file_scan_buffer(file);
4651
0
}
4652
4653
// contiguous + sized -> string_buffer
4654
template <typename Range,
4655
          std::enable_if_t<ranges::contiguous_range<Range> &&
4656
                           ranges::sized_range<Range>>* = nullptr>
4657
auto impl(const Range& r, priority_tag<2>)
4658
8.40M
{
4659
8.40M
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
4660
8.40M
        return std::basic_string_view{ranges::data(r), ranges::size(r)};
4661
8.40M
    }
4662
8.40M
    else {
4663
8.40M
        return invalid_char_type{};
4664
8.40M
    }
4665
8.40M
}
auto scn::v3::detail::_make_scan_buffer::impl<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
4658
5.62M
{
4659
5.62M
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
4660
5.62M
        return std::basic_string_view{ranges::data(r), ranges::size(r)};
4661
5.62M
    }
4662
5.62M
    else {
4663
5.62M
        return invalid_char_type{};
4664
5.62M
    }
4665
5.62M
}
auto scn::v3::detail::_make_scan_buffer::impl<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, (void*)0>(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&, scn::v3::detail::priority_tag<2ul>)
Line
Count
Source
4658
2.77M
{
4659
2.77M
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
4660
2.77M
        return std::basic_string_view{ranges::data(r), ranges::size(r)};
4661
2.77M
    }
4662
2.77M
    else {
4663
2.77M
        return invalid_char_type{};
4664
2.77M
    }
4665
2.77M
}
4666
4667
// !contiguous + random-access + iterator can be made into a ptr
4668
// for MSVC debug iterators
4669
//   -> string_buffer
4670
template <typename Range,
4671
          std::enable_if_t<!ranges::contiguous_range<Range> &&
4672
                           ranges::random_access_range<Range> &&
4673
                           can_make_address_from_iterator<
4674
                               ranges::iterator_t<Range>>>* = nullptr>
4675
auto impl(const Range& r, priority_tag<1>)
4676
{
4677
    if constexpr (is_valid_char_type<detail::char_t<Range>>) {
4678
        return make_string_view_from_pointers(to_address(ranges::begin(r)),
4679
                                              to_address(ranges::end(r)));
4680
    }
4681
    else {
4682
        return invalid_char_type{};
4683
    }
4684
}
4685
4686
// forward -> forward_buffer<R>
4687
template <typename Range>
4688
auto impl(const Range& r, priority_tag<0>)
4689
7.52M
{
4690
7.52M
    if constexpr (std::is_same_v<Range, file_marker>) {
4691
7.52M
        return file_marker_found{};
4692
7.52M
    }
4693
7.52M
    else if constexpr (!ranges::forward_range<Range>) {
4694
7.52M
        if constexpr (ranges::range<Range>) {
4695
7.52M
            return insufficient_range{};
4696
7.52M
        }
4697
7.52M
        else {
4698
7.52M
            return invalid_input_range{};
4699
7.52M
        }
4700
7.52M
    }
4701
7.52M
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
4702
7.52M
        return invalid_char_type{};
4703
7.52M
    }
4704
7.52M
    else {
4705
7.52M
        return make_forward_scan_buffer(r);
4706
7.52M
    }
4707
7.52M
}
auto scn::v3::detail::_make_scan_buffer::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
4689
5.64M
{
4690
5.64M
    if constexpr (std::is_same_v<Range, file_marker>) {
4691
5.64M
        return file_marker_found{};
4692
5.64M
    }
4693
5.64M
    else if constexpr (!ranges::forward_range<Range>) {
4694
5.64M
        if constexpr (ranges::range<Range>) {
4695
5.64M
            return insufficient_range{};
4696
5.64M
        }
4697
5.64M
        else {
4698
5.64M
            return invalid_input_range{};
4699
5.64M
        }
4700
5.64M
    }
4701
5.64M
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
4702
5.64M
        return invalid_char_type{};
4703
5.64M
    }
4704
5.64M
    else {
4705
5.64M
        return make_forward_scan_buffer(r);
4706
5.64M
    }
4707
5.64M
}
auto scn::v3::detail::_make_scan_buffer::impl<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&, scn::v3::detail::priority_tag<0ul>)
Line
Count
Source
4689
1.87M
{
4690
1.87M
    if constexpr (std::is_same_v<Range, file_marker>) {
4691
1.87M
        return file_marker_found{};
4692
1.87M
    }
4693
1.87M
    else if constexpr (!ranges::forward_range<Range>) {
4694
1.87M
        if constexpr (ranges::range<Range>) {
4695
1.87M
            return insufficient_range{};
4696
1.87M
        }
4697
1.87M
        else {
4698
1.87M
            return invalid_input_range{};
4699
1.87M
        }
4700
1.87M
    }
4701
1.87M
    else if constexpr (!is_valid_char_type<detail::char_t<Range>>) {
4702
1.87M
        return invalid_char_type{};
4703
1.87M
    }
4704
1.87M
    else {
4705
1.87M
        return make_forward_scan_buffer(r);
4706
1.87M
    }
4707
1.87M
}
4708
}  // namespace _make_scan_buffer
4709
4710
template <typename Range>
4711
inline constexpr bool is_scannable_range =
4712
    !std::is_base_of_v<invalid_input_range,
4713
                       decltype(_make_scan_buffer::impl(
4714
                                    SCN_DECLVAL(const Range&)),
4715
                                priority_tag<4>{})>;
4716
4717
template <typename Range>
4718
auto make_scan_buffer(const Range& range)
4719
16.7M
{
4720
16.7M
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4721
4722
16.7M
    static_assert(!std::is_same_v<T, invalid_char_type>,
4723
16.7M
                  "\n"
4724
16.7M
                  "Unsupported range type given as input to a scanning "
4725
16.7M
                  "function.\n"
4726
16.7M
                  "A range needs to have a character type (value type) "
4727
16.7M
                  "of either `char` or `wchar_t` to be scannable.\n"
4728
16.7M
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4729
16.7M
                  "to be included.\n"
4730
16.7M
                  "See the scnlib documentation for more details.");
4731
16.7M
    static_assert(
4732
16.7M
        !std::is_same_v<T, custom_char_traits>,
4733
16.7M
        "\n"
4734
16.7M
        "Unsupported range type given as input to a scanning "
4735
16.7M
        "function.\n"
4736
16.7M
        "String types (std::basic_string, and std::basic_string_view) "
4737
16.7M
        "need to use std::char_traits. Strings with custom Traits are "
4738
16.7M
        "not supported.");
4739
16.7M
    static_assert(!std::is_same_v<T, file_marker_found>,
4740
16.7M
                  "\n"
4741
16.7M
                  "Unsupported range type given as input to a scanning "
4742
16.7M
                  "function.\n"
4743
16.7M
                  "file_marker_found cannot be used as an "
4744
16.7M
                  "source range type to scn::scan.\n"
4745
16.7M
                  "To read from stdin, use scn::input or scn::prompt, "
4746
16.7M
                  "and do not provide an explicit source range, "
4747
16.7M
                  "or use scn::scan with a FILE* directly.");
4748
16.7M
    static_assert(!std::is_same_v<T, insufficient_range>,
4749
16.7M
                  "\n"
4750
16.7M
                  "Unsupported range type given as input to a scanning "
4751
16.7M
                  "function.\n"
4752
16.7M
                  "In order to be scannable, a range needs to satisfy "
4753
16.7M
                  "`forward_range`. `input_range` is not sufficient.");
4754
16.7M
    static_assert(!std::is_same_v<T, invalid_input_range>,
4755
16.7M
                  "\n"
4756
16.7M
                  "Unsupported range type given as input to a scanning "
4757
16.7M
                  "function.\n"
4758
16.7M
                  "A range needs to model forward_range and have a valid "
4759
16.7M
                  "character type (char or wchar_t) to be scannable.\n"
4760
16.7M
                  "Examples of scannable ranges are std::string, "
4761
16.7M
                  "std::string_view, "
4762
16.7M
                  "std::vector<char>, and scn::istreambuf_view.\n"
4763
16.7M
                  "See the scnlib documentation for more details.");
4764
4765
16.7M
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4766
16.7M
}
auto scn::v3::detail::make_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> const&)
Line
Count
Source
4719
5.62M
{
4720
5.62M
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4721
4722
5.62M
    static_assert(!std::is_same_v<T, invalid_char_type>,
4723
5.62M
                  "\n"
4724
5.62M
                  "Unsupported range type given as input to a scanning "
4725
5.62M
                  "function.\n"
4726
5.62M
                  "A range needs to have a character type (value type) "
4727
5.62M
                  "of either `char` or `wchar_t` to be scannable.\n"
4728
5.62M
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4729
5.62M
                  "to be included.\n"
4730
5.62M
                  "See the scnlib documentation for more details.");
4731
5.62M
    static_assert(
4732
5.62M
        !std::is_same_v<T, custom_char_traits>,
4733
5.62M
        "\n"
4734
5.62M
        "Unsupported range type given as input to a scanning "
4735
5.62M
        "function.\n"
4736
5.62M
        "String types (std::basic_string, and std::basic_string_view) "
4737
5.62M
        "need to use std::char_traits. Strings with custom Traits are "
4738
5.62M
        "not supported.");
4739
5.62M
    static_assert(!std::is_same_v<T, file_marker_found>,
4740
5.62M
                  "\n"
4741
5.62M
                  "Unsupported range type given as input to a scanning "
4742
5.62M
                  "function.\n"
4743
5.62M
                  "file_marker_found cannot be used as an "
4744
5.62M
                  "source range type to scn::scan.\n"
4745
5.62M
                  "To read from stdin, use scn::input or scn::prompt, "
4746
5.62M
                  "and do not provide an explicit source range, "
4747
5.62M
                  "or use scn::scan with a FILE* directly.");
4748
5.62M
    static_assert(!std::is_same_v<T, insufficient_range>,
4749
5.62M
                  "\n"
4750
5.62M
                  "Unsupported range type given as input to a scanning "
4751
5.62M
                  "function.\n"
4752
5.62M
                  "In order to be scannable, a range needs to satisfy "
4753
5.62M
                  "`forward_range`. `input_range` is not sufficient.");
4754
5.62M
    static_assert(!std::is_same_v<T, invalid_input_range>,
4755
5.62M
                  "\n"
4756
5.62M
                  "Unsupported range type given as input to a scanning "
4757
5.62M
                  "function.\n"
4758
5.62M
                  "A range needs to model forward_range and have a valid "
4759
5.62M
                  "character type (char or wchar_t) to be scannable.\n"
4760
5.62M
                  "Examples of scannable ranges are std::string, "
4761
5.62M
                  "std::string_view, "
4762
5.62M
                  "std::vector<char>, and scn::istreambuf_view.\n"
4763
5.62M
                  "See the scnlib documentation for more details.");
4764
4765
5.62M
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4766
5.62M
}
auto scn::v3::detail::make_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > const&)
Line
Count
Source
4719
5.64M
{
4720
5.64M
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4721
4722
5.64M
    static_assert(!std::is_same_v<T, invalid_char_type>,
4723
5.64M
                  "\n"
4724
5.64M
                  "Unsupported range type given as input to a scanning "
4725
5.64M
                  "function.\n"
4726
5.64M
                  "A range needs to have a character type (value type) "
4727
5.64M
                  "of either `char` or `wchar_t` to be scannable.\n"
4728
5.64M
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4729
5.64M
                  "to be included.\n"
4730
5.64M
                  "See the scnlib documentation for more details.");
4731
5.64M
    static_assert(
4732
5.64M
        !std::is_same_v<T, custom_char_traits>,
4733
5.64M
        "\n"
4734
5.64M
        "Unsupported range type given as input to a scanning "
4735
5.64M
        "function.\n"
4736
5.64M
        "String types (std::basic_string, and std::basic_string_view) "
4737
5.64M
        "need to use std::char_traits. Strings with custom Traits are "
4738
5.64M
        "not supported.");
4739
5.64M
    static_assert(!std::is_same_v<T, file_marker_found>,
4740
5.64M
                  "\n"
4741
5.64M
                  "Unsupported range type given as input to a scanning "
4742
5.64M
                  "function.\n"
4743
5.64M
                  "file_marker_found cannot be used as an "
4744
5.64M
                  "source range type to scn::scan.\n"
4745
5.64M
                  "To read from stdin, use scn::input or scn::prompt, "
4746
5.64M
                  "and do not provide an explicit source range, "
4747
5.64M
                  "or use scn::scan with a FILE* directly.");
4748
5.64M
    static_assert(!std::is_same_v<T, insufficient_range>,
4749
5.64M
                  "\n"
4750
5.64M
                  "Unsupported range type given as input to a scanning "
4751
5.64M
                  "function.\n"
4752
5.64M
                  "In order to be scannable, a range needs to satisfy "
4753
5.64M
                  "`forward_range`. `input_range` is not sufficient.");
4754
5.64M
    static_assert(!std::is_same_v<T, invalid_input_range>,
4755
5.64M
                  "\n"
4756
5.64M
                  "Unsupported range type given as input to a scanning "
4757
5.64M
                  "function.\n"
4758
5.64M
                  "A range needs to model forward_range and have a valid "
4759
5.64M
                  "character type (char or wchar_t) to be scannable.\n"
4760
5.64M
                  "Examples of scannable ranges are std::string, "
4761
5.64M
                  "std::string_view, "
4762
5.64M
                  "std::vector<char>, and scn::istreambuf_view.\n"
4763
5.64M
                  "See the scnlib documentation for more details.");
4764
4765
5.64M
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4766
5.64M
}
auto scn::v3::detail::make_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> const&)
Line
Count
Source
4719
2.77M
{
4720
2.77M
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4721
4722
2.77M
    static_assert(!std::is_same_v<T, invalid_char_type>,
4723
2.77M
                  "\n"
4724
2.77M
                  "Unsupported range type given as input to a scanning "
4725
2.77M
                  "function.\n"
4726
2.77M
                  "A range needs to have a character type (value type) "
4727
2.77M
                  "of either `char` or `wchar_t` to be scannable.\n"
4728
2.77M
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4729
2.77M
                  "to be included.\n"
4730
2.77M
                  "See the scnlib documentation for more details.");
4731
2.77M
    static_assert(
4732
2.77M
        !std::is_same_v<T, custom_char_traits>,
4733
2.77M
        "\n"
4734
2.77M
        "Unsupported range type given as input to a scanning "
4735
2.77M
        "function.\n"
4736
2.77M
        "String types (std::basic_string, and std::basic_string_view) "
4737
2.77M
        "need to use std::char_traits. Strings with custom Traits are "
4738
2.77M
        "not supported.");
4739
2.77M
    static_assert(!std::is_same_v<T, file_marker_found>,
4740
2.77M
                  "\n"
4741
2.77M
                  "Unsupported range type given as input to a scanning "
4742
2.77M
                  "function.\n"
4743
2.77M
                  "file_marker_found cannot be used as an "
4744
2.77M
                  "source range type to scn::scan.\n"
4745
2.77M
                  "To read from stdin, use scn::input or scn::prompt, "
4746
2.77M
                  "and do not provide an explicit source range, "
4747
2.77M
                  "or use scn::scan with a FILE* directly.");
4748
2.77M
    static_assert(!std::is_same_v<T, insufficient_range>,
4749
2.77M
                  "\n"
4750
2.77M
                  "Unsupported range type given as input to a scanning "
4751
2.77M
                  "function.\n"
4752
2.77M
                  "In order to be scannable, a range needs to satisfy "
4753
2.77M
                  "`forward_range`. `input_range` is not sufficient.");
4754
2.77M
    static_assert(!std::is_same_v<T, invalid_input_range>,
4755
2.77M
                  "\n"
4756
2.77M
                  "Unsupported range type given as input to a scanning "
4757
2.77M
                  "function.\n"
4758
2.77M
                  "A range needs to model forward_range and have a valid "
4759
2.77M
                  "character type (char or wchar_t) to be scannable.\n"
4760
2.77M
                  "Examples of scannable ranges are std::string, "
4761
2.77M
                  "std::string_view, "
4762
2.77M
                  "std::vector<char>, and scn::istreambuf_view.\n"
4763
2.77M
                  "See the scnlib documentation for more details.");
4764
4765
2.77M
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4766
2.77M
}
auto scn::v3::detail::make_scan_buffer<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > const&)
Line
Count
Source
4719
1.87M
{
4720
1.87M
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4721
4722
1.87M
    static_assert(!std::is_same_v<T, invalid_char_type>,
4723
1.87M
                  "\n"
4724
1.87M
                  "Unsupported range type given as input to a scanning "
4725
1.87M
                  "function.\n"
4726
1.87M
                  "A range needs to have a character type (value type) "
4727
1.87M
                  "of either `char` or `wchar_t` to be scannable.\n"
4728
1.87M
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4729
1.87M
                  "to be included.\n"
4730
1.87M
                  "See the scnlib documentation for more details.");
4731
1.87M
    static_assert(
4732
1.87M
        !std::is_same_v<T, custom_char_traits>,
4733
1.87M
        "\n"
4734
1.87M
        "Unsupported range type given as input to a scanning "
4735
1.87M
        "function.\n"
4736
1.87M
        "String types (std::basic_string, and std::basic_string_view) "
4737
1.87M
        "need to use std::char_traits. Strings with custom Traits are "
4738
1.87M
        "not supported.");
4739
1.87M
    static_assert(!std::is_same_v<T, file_marker_found>,
4740
1.87M
                  "\n"
4741
1.87M
                  "Unsupported range type given as input to a scanning "
4742
1.87M
                  "function.\n"
4743
1.87M
                  "file_marker_found cannot be used as an "
4744
1.87M
                  "source range type to scn::scan.\n"
4745
1.87M
                  "To read from stdin, use scn::input or scn::prompt, "
4746
1.87M
                  "and do not provide an explicit source range, "
4747
1.87M
                  "or use scn::scan with a FILE* directly.");
4748
1.87M
    static_assert(!std::is_same_v<T, insufficient_range>,
4749
1.87M
                  "\n"
4750
1.87M
                  "Unsupported range type given as input to a scanning "
4751
1.87M
                  "function.\n"
4752
1.87M
                  "In order to be scannable, a range needs to satisfy "
4753
1.87M
                  "`forward_range`. `input_range` is not sufficient.");
4754
1.87M
    static_assert(!std::is_same_v<T, invalid_input_range>,
4755
1.87M
                  "\n"
4756
1.87M
                  "Unsupported range type given as input to a scanning "
4757
1.87M
                  "function.\n"
4758
1.87M
                  "A range needs to model forward_range and have a valid "
4759
1.87M
                  "character type (char or wchar_t) to be scannable.\n"
4760
1.87M
                  "Examples of scannable ranges are std::string, "
4761
1.87M
                  "std::string_view, "
4762
1.87M
                  "std::vector<char>, and scn::istreambuf_view.\n"
4763
1.87M
                  "See the scnlib documentation for more details.");
4764
4765
1.87M
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4766
1.87M
}
auto scn::v3::detail::make_scan_buffer<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> > const&)
Line
Count
Source
4719
286k
{
4720
286k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4721
4722
286k
    static_assert(!std::is_same_v<T, invalid_char_type>,
4723
286k
                  "\n"
4724
286k
                  "Unsupported range type given as input to a scanning "
4725
286k
                  "function.\n"
4726
286k
                  "A range needs to have a character type (value type) "
4727
286k
                  "of either `char` or `wchar_t` to be scannable.\n"
4728
286k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4729
286k
                  "to be included.\n"
4730
286k
                  "See the scnlib documentation for more details.");
4731
286k
    static_assert(
4732
286k
        !std::is_same_v<T, custom_char_traits>,
4733
286k
        "\n"
4734
286k
        "Unsupported range type given as input to a scanning "
4735
286k
        "function.\n"
4736
286k
        "String types (std::basic_string, and std::basic_string_view) "
4737
286k
        "need to use std::char_traits. Strings with custom Traits are "
4738
286k
        "not supported.");
4739
286k
    static_assert(!std::is_same_v<T, file_marker_found>,
4740
286k
                  "\n"
4741
286k
                  "Unsupported range type given as input to a scanning "
4742
286k
                  "function.\n"
4743
286k
                  "file_marker_found cannot be used as an "
4744
286k
                  "source range type to scn::scan.\n"
4745
286k
                  "To read from stdin, use scn::input or scn::prompt, "
4746
286k
                  "and do not provide an explicit source range, "
4747
286k
                  "or use scn::scan with a FILE* directly.");
4748
286k
    static_assert(!std::is_same_v<T, insufficient_range>,
4749
286k
                  "\n"
4750
286k
                  "Unsupported range type given as input to a scanning "
4751
286k
                  "function.\n"
4752
286k
                  "In order to be scannable, a range needs to satisfy "
4753
286k
                  "`forward_range`. `input_range` is not sufficient.");
4754
286k
    static_assert(!std::is_same_v<T, invalid_input_range>,
4755
286k
                  "\n"
4756
286k
                  "Unsupported range type given as input to a scanning "
4757
286k
                  "function.\n"
4758
286k
                  "A range needs to model forward_range and have a valid "
4759
286k
                  "character type (char or wchar_t) to be scannable.\n"
4760
286k
                  "Examples of scannable ranges are std::string, "
4761
286k
                  "std::string_view, "
4762
286k
                  "std::vector<char>, and scn::istreambuf_view.\n"
4763
286k
                  "See the scnlib documentation for more details.");
4764
4765
286k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4766
286k
}
auto scn::v3::detail::make_scan_buffer<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > const&)
Line
Count
Source
4719
572k
{
4720
572k
    using T = decltype(_make_scan_buffer::impl(range, priority_tag<4>{}));
4721
4722
572k
    static_assert(!std::is_same_v<T, invalid_char_type>,
4723
572k
                  "\n"
4724
572k
                  "Unsupported range type given as input to a scanning "
4725
572k
                  "function.\n"
4726
572k
                  "A range needs to have a character type (value type) "
4727
572k
                  "of either `char` or `wchar_t` to be scannable.\n"
4728
572k
                  "For proper `wchar_t` support, <scn/xchar.h> needs "
4729
572k
                  "to be included.\n"
4730
572k
                  "See the scnlib documentation for more details.");
4731
572k
    static_assert(
4732
572k
        !std::is_same_v<T, custom_char_traits>,
4733
572k
        "\n"
4734
572k
        "Unsupported range type given as input to a scanning "
4735
572k
        "function.\n"
4736
572k
        "String types (std::basic_string, and std::basic_string_view) "
4737
572k
        "need to use std::char_traits. Strings with custom Traits are "
4738
572k
        "not supported.");
4739
572k
    static_assert(!std::is_same_v<T, file_marker_found>,
4740
572k
                  "\n"
4741
572k
                  "Unsupported range type given as input to a scanning "
4742
572k
                  "function.\n"
4743
572k
                  "file_marker_found cannot be used as an "
4744
572k
                  "source range type to scn::scan.\n"
4745
572k
                  "To read from stdin, use scn::input or scn::prompt, "
4746
572k
                  "and do not provide an explicit source range, "
4747
572k
                  "or use scn::scan with a FILE* directly.");
4748
572k
    static_assert(!std::is_same_v<T, insufficient_range>,
4749
572k
                  "\n"
4750
572k
                  "Unsupported range type given as input to a scanning "
4751
572k
                  "function.\n"
4752
572k
                  "In order to be scannable, a range needs to satisfy "
4753
572k
                  "`forward_range`. `input_range` is not sufficient.");
4754
572k
    static_assert(!std::is_same_v<T, invalid_input_range>,
4755
572k
                  "\n"
4756
572k
                  "Unsupported range type given as input to a scanning "
4757
572k
                  "function.\n"
4758
572k
                  "A range needs to model forward_range and have a valid "
4759
572k
                  "character type (char or wchar_t) to be scannable.\n"
4760
572k
                  "Examples of scannable ranges are std::string, "
4761
572k
                  "std::string_view, "
4762
572k
                  "std::vector<char>, and scn::istreambuf_view.\n"
4763
572k
                  "See the scnlib documentation for more details.");
4764
4765
572k
    return _make_scan_buffer::impl(range, priority_tag<4>{});
4766
572k
}
4767
4768
template <
4769
    typename Range,
4770
    std::enable_if_t<
4771
        !std::is_reference_v<Range> && !ranges::borrowed_range<Range> &&
4772
        !std::is_same_v<std::FILE*, std::remove_reference_t<Range>>>* = nullptr>
4773
auto make_scan_buffer(Range&&) = delete;
4774
}  // namespace detail
4775
4776
/////////////////////////////////////////////////////////////////
4777
// Argument type erasure
4778
/////////////////////////////////////////////////////////////////
4779
4780
namespace detail {
4781
enum class arg_type : unsigned char {
4782
    none_type,
4783
    schar_type,
4784
    short_type,
4785
    int_type,
4786
    long_type,
4787
    llong_type,
4788
    uchar_type,
4789
    ushort_type,
4790
    uint_type,
4791
    ulong_type,
4792
    ullong_type,
4793
    bool_type,
4794
    narrow_character_type,
4795
    wide_character_type,
4796
    code_point_type,
4797
    pointer_type,
4798
    float_type,
4799
    double_type,
4800
    ldouble_type,
4801
    narrow_string_view_type,
4802
    wide_string_view_type,
4803
    narrow_string_type,
4804
    wide_string_type,
4805
    narrow_regex_matches_type,
4806
    wide_regex_matches_type,
4807
    custom_type,
4808
    last_type = custom_type
4809
};
4810
4811
template <typename>
4812
inline constexpr bool is_type_disabled = SCN_DISABLE_TYPE_CUSTOM;
4813
4814
template <typename T, typename CharT>
4815
struct arg_type_constant
4816
    : std::integral_constant<arg_type, arg_type::custom_type> {
4817
    using type = T;
4818
};
4819
4820
#define SCN_TYPE_CONSTANT(Type, C, Disabled)              \
4821
    template <typename CharT>                             \
4822
    struct arg_type_constant<Type, CharT>                 \
4823
        : std::integral_constant<arg_type, arg_type::C> { \
4824
        using type = Type;                                \
4825
    };                                                    \
4826
    template <>                                           \
4827
    inline constexpr bool is_type_disabled<Type> = Disabled
4828
4829
SCN_TYPE_CONSTANT(signed char, schar_type, SCN_DISABLE_TYPE_SCHAR);
4830
SCN_TYPE_CONSTANT(short, short_type, SCN_DISABLE_TYPE_SHORT);
4831
SCN_TYPE_CONSTANT(int, int_type, SCN_DISABLE_TYPE_INT);
4832
SCN_TYPE_CONSTANT(long, long_type, SCN_DISABLE_TYPE_LONG);
4833
SCN_TYPE_CONSTANT(long long, llong_type, SCN_DISABLE_TYPE_LONG_LONG);
4834
SCN_TYPE_CONSTANT(unsigned char, uchar_type, SCN_DISABLE_TYPE_UCHAR);
4835
SCN_TYPE_CONSTANT(unsigned short, ushort_type, SCN_DISABLE_TYPE_USHORT);
4836
SCN_TYPE_CONSTANT(unsigned int, uint_type, SCN_DISABLE_TYPE_UINT);
4837
SCN_TYPE_CONSTANT(unsigned long, ulong_type, SCN_DISABLE_TYPE_ULONG);
4838
SCN_TYPE_CONSTANT(unsigned long long, ullong_type, SCN_DISABLE_TYPE_ULONG_LONG);
4839
SCN_TYPE_CONSTANT(bool, bool_type, SCN_DISABLE_TYPE_BOOL);
4840
SCN_TYPE_CONSTANT(char, narrow_character_type, SCN_DISABLE_TYPE_CHAR);
4841
SCN_TYPE_CONSTANT(wchar_t, wide_character_type, SCN_DISABLE_TYPE_CHAR);
4842
SCN_TYPE_CONSTANT(char32_t, code_point_type, SCN_DISABLE_TYPE_CHAR32);
4843
SCN_TYPE_CONSTANT(void*, pointer_type, SCN_DISABLE_TYPE_POINTER);
4844
SCN_TYPE_CONSTANT(float, float_type, SCN_DISABLE_TYPE_FLOAT);
4845
SCN_TYPE_CONSTANT(double, double_type, SCN_DISABLE_TYPE_DOUBLE);
4846
SCN_TYPE_CONSTANT(long double, ldouble_type, SCN_DISABLE_TYPE_LONG_DOUBLE);
4847
SCN_TYPE_CONSTANT(std::string_view,
4848
                  narrow_string_view_type,
4849
                  SCN_DISABLE_TYPE_STRING_VIEW);
4850
SCN_TYPE_CONSTANT(std::wstring_view,
4851
                  wide_string_view_type,
4852
                  SCN_DISABLE_TYPE_STRING_VIEW);
4853
SCN_TYPE_CONSTANT(std::string, narrow_string_type, SCN_DISABLE_TYPE_STRING);
4854
SCN_TYPE_CONSTANT(std::wstring, wide_string_type, SCN_DISABLE_TYPE_STRING);
4855
SCN_TYPE_CONSTANT(regex_matches, narrow_regex_matches_type, SCN_DISABLE_REGEX);
4856
SCN_TYPE_CONSTANT(wregex_matches, wide_regex_matches_type, SCN_DISABLE_REGEX);
4857
4858
#undef SCN_TYPE_CONSTANT
4859
4860
struct custom_value_type {
4861
    void* value;
4862
    scan_error (*scan)(void* arg, void* pctx, void* ctx);
4863
};
4864
4865
struct unscannable {};
4866
struct unscannable_char : unscannable {};
4867
struct unscannable_const : unscannable {};
4868
struct unscannable_disabled : unscannable {
4869
    unscannable_disabled() = default;
4870
4871
    template <typename T>
4872
    constexpr unscannable_disabled(T&&)
4873
    {
4874
    }
4875
};
4876
4877
struct needs_context_tag {};
4878
4879
template <typename Context>
4880
struct context_tag {
4881
    using type = Context;
4882
};
4883
4884
template <typename T, typename Context>
4885
struct custom_wrapper {
4886
    using context_type = Context;
4887
    T& val;
4888
};
4889
4890
class arg_value {
4891
public:
4892
    // trivial default initialization in constexpr
4893
#if defined(__cpp_constexpr) && __cpp_constexpr >= 201907L && \
4894
    SCN_STD > SCN_STD_20
4895
    constexpr
4896
#endif
4897
16.2M
    arg_value() = default;
4898
4899
    template <typename T>
4900
    explicit constexpr arg_value(T& val) : ref_value{std::addressof(val)}
4901
16.7M
    {
4902
16.7M
    }
scn::v3::detail::arg_value::arg_value<signed char>(signed char&)
Line
Count
Source
4901
840k
    {
4902
840k
    }
scn::v3::detail::arg_value::arg_value<unsigned char>(unsigned char&)
Line
Count
Source
4901
813k
    {
4902
813k
    }
scn::v3::detail::arg_value::arg_value<int>(int&)
Line
Count
Source
4901
1.10M
    {
4902
1.10M
    }
scn::v3::detail::arg_value::arg_value<unsigned int>(unsigned int&)
Line
Count
Source
4901
992k
    {
4902
992k
    }
scn::v3::detail::arg_value::arg_value<long long>(long long&)
Line
Count
Source
4901
1.02M
    {
4902
1.02M
    }
scn::v3::detail::arg_value::arg_value<unsigned long long>(unsigned long long&)
Line
Count
Source
4901
905k
    {
4902
905k
    }
scn::v3::detail::arg_value::arg_value<float>(float&)
Line
Count
Source
4901
2.29M
    {
4902
2.29M
    }
scn::v3::detail::arg_value::arg_value<double>(double&)
Line
Count
Source
4901
2.54M
    {
4902
2.54M
    }
scn::v3::detail::arg_value::arg_value<long double>(long double&)
Line
Count
Source
4901
2.47M
    {
4902
2.47M
    }
scn::v3::detail::arg_value::arg_value<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
4901
442k
    {
4902
442k
    }
scn::v3::detail::arg_value::arg_value<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
4901
196k
    {
4902
196k
    }
scn::v3::detail::arg_value::arg_value<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
4901
1.88M
    {
4902
1.88M
    }
scn::v3::detail::arg_value::arg_value<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
4901
960k
    {
4902
960k
    }
scn::v3::detail::arg_value::arg_value<char>(char&)
Line
Count
Source
4901
31.8k
    {
4902
31.8k
    }
scn::v3::detail::arg_value::arg_value<bool>(bool&)
Line
Count
Source
4901
95.4k
    {
4902
95.4k
    }
scn::v3::detail::arg_value::arg_value<void*>(void*&)
Line
Count
Source
4901
95.4k
    {
4902
95.4k
    }
scn::v3::detail::arg_value::arg_value<wchar_t>(wchar_t&)
Line
Count
Source
4901
63.6k
    {
4902
63.6k
    }
4903
4904
    template <typename T, typename Context>
4905
    explicit constexpr arg_value(custom_wrapper<T, Context> val)
4906
        : custom_value{static_cast<void*>(&val.val),
4907
                       scan_custom_arg<T, Context>}
4908
    {
4909
    }
4910
4911
    arg_value(unscannable);
4912
    arg_value(unscannable_char);
4913
    arg_value(unscannable_const);
4914
    arg_value(unscannable_disabled);
4915
4916
    union {
4917
        void* ref_value{nullptr};
4918
        custom_value_type custom_value;
4919
    };
4920
4921
private:
4922
    template <typename T, typename Context>
4923
    static scan_error scan_custom_arg(void* arg, void* pctx, void* ctx)
4924
    {
4925
        static_assert(!is_type_disabled<T>,
4926
                      "Scanning of custom types is disabled by "
4927
                      "SCN_DISABLE_TYPE_CUSTOM");
4928
        SCN_EXPECT(arg && pctx && ctx);
4929
4930
        using context_type = Context;
4931
        using parse_context_type = typename context_type::parse_context_type;
4932
        using scanner_type = typename context_type::template scanner_type<T>;
4933
4934
        auto s = scanner_type{};
4935
4936
        auto& arg_ref = *static_cast<T*>(arg);
4937
        auto& pctx_ref = *static_cast<parse_context_type*>(pctx);
4938
        auto& ctx_ref = *static_cast<context_type*>(ctx);
4939
4940
        SCN_TRY_ERR(_, s.parse(pctx_ref));
4941
        SCN_UNUSED(_);
4942
        SCN_TRY_ERR(it, s.scan(arg_ref, ctx_ref));
4943
        ctx_ref.advance_to(SCN_MOVE(it));
4944
4945
        return {};
4946
    }
4947
};
4948
4949
template <typename CharT>
4950
struct arg_mapper {
4951
    using char_type = CharT;
4952
    using other_char_type =
4953
        std::conditional_t<std::is_same_v<char_type, char>, wchar_t, char>;
4954
4955
#define SCN_ARG_MAPPER(T)                                                    \
4956
    static auto map(T& val)                                                  \
4957
        -> std::conditional_t<is_type_disabled<T>, unscannable_disabled, T&> \
4958
16.7M
    {                                                                        \
4959
16.7M
        return val;                                                          \
4960
16.7M
    }
scn::v3::detail::arg_mapper<char>::map(signed char&)
Line
Count
Source
4958
676k
    {                                                                        \
4959
676k
        return val;                                                          \
4960
676k
    }
scn::v3::detail::arg_mapper<char>::map(unsigned char&)
Line
Count
Source
4958
649k
    {                                                                        \
4959
649k
        return val;                                                          \
4960
649k
    }
scn::v3::detail::arg_mapper<char>::map(int&)
Line
Count
Source
4958
879k
    {                                                                        \
4959
879k
        return val;                                                          \
4960
879k
    }
scn::v3::detail::arg_mapper<char>::map(unsigned int&)
Line
Count
Source
4958
764k
    {                                                                        \
4959
764k
        return val;                                                          \
4960
764k
    }
scn::v3::detail::arg_mapper<char>::map(long long&)
Line
Count
Source
4958
863k
    {                                                                        \
4959
863k
        return val;                                                          \
4960
863k
    }
scn::v3::detail::arg_mapper<char>::map(unsigned long long&)
Line
Count
Source
4958
740k
    {                                                                        \
4959
740k
        return val;                                                          \
4960
740k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(signed char&)
Line
Count
Source
4958
164k
    {                                                                        \
4959
164k
        return val;                                                          \
4960
164k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(unsigned char&)
Line
Count
Source
4958
164k
    {                                                                        \
4959
164k
        return val;                                                          \
4960
164k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(int&)
Line
Count
Source
4958
228k
    {                                                                        \
4959
228k
        return val;                                                          \
4960
228k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(unsigned int&)
Line
Count
Source
4958
228k
    {                                                                        \
4959
228k
        return val;                                                          \
4960
228k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(long long&)
Line
Count
Source
4958
165k
    {                                                                        \
4959
165k
        return val;                                                          \
4960
165k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(unsigned long long&)
Line
Count
Source
4958
164k
    {                                                                        \
4959
164k
        return val;                                                          \
4960
164k
    }
scn::v3::detail::arg_mapper<char>::map(float&)
Line
Count
Source
4958
1.97M
    {                                                                        \
4959
1.97M
        return val;                                                          \
4960
1.97M
    }
scn::v3::detail::arg_mapper<char>::map(double&)
Line
Count
Source
4958
2.16M
    {                                                                        \
4959
2.16M
        return val;                                                          \
4960
2.16M
    }
scn::v3::detail::arg_mapper<char>::map(long double&)
Line
Count
Source
4958
2.15M
    {                                                                        \
4959
2.15M
        return val;                                                          \
4960
2.15M
    }
scn::v3::detail::arg_mapper<wchar_t>::map(float&)
Line
Count
Source
4958
323k
    {                                                                        \
4959
323k
        return val;                                                          \
4960
323k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(double&)
Line
Count
Source
4958
388k
    {                                                                        \
4959
388k
        return val;                                                          \
4960
388k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(long double&)
Line
Count
Source
4958
326k
    {                                                                        \
4959
326k
        return val;                                                          \
4960
326k
    }
scn::v3::detail::arg_mapper<char>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
4958
379k
    {                                                                        \
4959
379k
        return val;                                                          \
4960
379k
    }
scn::v3::detail::arg_mapper<char>::map(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
4958
196k
    {                                                                        \
4959
196k
        return val;                                                          \
4960
196k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
4958
1.85M
    {                                                                        \
4959
1.85M
        return val;                                                          \
4960
1.85M
    }
scn::v3::detail::arg_mapper<wchar_t>::map(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
4958
960k
    {                                                                        \
4959
960k
        return val;                                                          \
4960
960k
    }
scn::v3::detail::arg_mapper<char>::map(bool&)
Line
Count
Source
4958
31.8k
    {                                                                        \
4959
31.8k
        return val;                                                          \
4960
31.8k
    }
scn::v3::detail::arg_mapper<char>::map(void*&)
Line
Count
Source
4958
31.8k
    {                                                                        \
4959
31.8k
        return val;                                                          \
4960
31.8k
    }
scn::v3::detail::arg_mapper<char>::map(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
4958
31.8k
    {                                                                        \
4959
31.8k
        return val;                                                          \
4960
31.8k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(wchar_t&)
Line
Count
Source
4958
63.6k
    {                                                                        \
4959
63.6k
        return val;                                                          \
4960
63.6k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(bool&)
Line
Count
Source
4958
63.6k
    {                                                                        \
4959
63.6k
        return val;                                                          \
4960
63.6k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(void*&)
Line
Count
Source
4958
63.6k
    {                                                                        \
4959
63.6k
        return val;                                                          \
4960
63.6k
    }
scn::v3::detail::arg_mapper<wchar_t>::map(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
4958
63.6k
    {                                                                        \
4959
63.6k
        return val;                                                          \
4960
63.6k
    }
4961
4962
    SCN_ARG_MAPPER(signed char)
4963
    SCN_ARG_MAPPER(short)
4964
    SCN_ARG_MAPPER(int)
4965
    SCN_ARG_MAPPER(long)
4966
    SCN_ARG_MAPPER(long long)
4967
    SCN_ARG_MAPPER(unsigned char)
4968
    SCN_ARG_MAPPER(unsigned short)
4969
    SCN_ARG_MAPPER(unsigned)
4970
    SCN_ARG_MAPPER(unsigned long)
4971
    SCN_ARG_MAPPER(unsigned long long)
4972
    SCN_ARG_MAPPER(wchar_t)
4973
    SCN_ARG_MAPPER(char32_t)
4974
    SCN_ARG_MAPPER(bool)
4975
    SCN_ARG_MAPPER(void*)
4976
    SCN_ARG_MAPPER(float)
4977
    SCN_ARG_MAPPER(double)
4978
    SCN_ARG_MAPPER(long double)
4979
4980
    SCN_ARG_MAPPER(std::basic_string_view<char_type>)
4981
    SCN_ARG_MAPPER(std::string)
4982
    SCN_ARG_MAPPER(std::wstring)
4983
4984
#undef SCN_ARG_MAPPER
4985
4986
    static decltype(auto) map(char& val)
4987
31.8k
    {
4988
31.8k
        if constexpr (std::is_same_v<char_type, char> &&
4989
31.8k
                      !is_type_disabled<char_type>) {
4990
31.8k
            return val;
4991
31.8k
        }
4992
31.8k
        else if constexpr (is_type_disabled<char_type>) {
4993
31.8k
            return unscannable_disabled{val};
4994
31.8k
        }
4995
31.8k
        else {
4996
31.8k
            SCN_UNUSED(val);
4997
31.8k
            return unscannable_char{};
4998
31.8k
        }
4999
31.8k
    }
5000
5001
    static decltype(auto) map(basic_regex_matches<char_type>& val)
5002
    {
5003
        if constexpr (is_type_disabled<char_type>) {
5004
            return unscannable_disabled{val};
5005
        }
5006
        else {
5007
            return val;
5008
        }
5009
    }
5010
5011
    static unscannable_char map(std::basic_string_view<other_char_type>&)
5012
    {
5013
        return {};
5014
    }
5015
    static unscannable_char map(basic_regex_matches<other_char_type>&)
5016
    {
5017
        return {};
5018
    }
5019
5020
    template <typename T>
5021
    static std::enable_if_t<std::is_constructible_v<scanner<T, char_type>>,
5022
                            needs_context_tag>
5023
    map(T&)
5024
    {
5025
        return {};
5026
    }
5027
5028
    template <typename T, typename Context>
5029
    static std::enable_if_t<std::is_constructible_v<scanner<T, char_type>>,
5030
                            custom_wrapper<T, Context>>
5031
    map(T& val, context_tag<Context>)
5032
    {
5033
        return {val};
5034
    }
5035
5036
    static unscannable map(...)
5037
    {
5038
        return {};
5039
    }
5040
};
5041
5042
template <typename T, typename CharT>
5043
using mapped_type_constant = arg_type_constant<
5044
    std::remove_reference_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>,
5045
    CharT>;
5046
5047
template <typename T, typename CharT>
5048
using is_scannable = std::integral_constant<
5049
    bool,
5050
    !std::is_base_of_v<
5051
        unscannable,
5052
        remove_cvref_t<decltype(arg_mapper<CharT>().map(SCN_DECLVAL(T&)))>>>;
5053
5054
constexpr std::size_t packed_arg_bits = 5;
5055
static_assert((1 << packed_arg_bits) >= static_cast<int>(arg_type::last_type));
5056
constexpr std::size_t bits_in_sz = sizeof(std::size_t) * 8;
5057
constexpr std::size_t max_packed_args = (bits_in_sz - 2) / packed_arg_bits - 1;
5058
constexpr std::size_t is_unpacked_bit = std::size_t{1} << (bits_in_sz - 1);
5059
constexpr std::size_t has_custom_types_bit = std::size_t{1} << (bits_in_sz - 2);
5060
5061
template <typename>
5062
constexpr size_t encode_types_impl()
5063
0
{
5064
0
    return 0;
5065
0
}
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t>()
5066
template <typename CharT, typename T, typename... Others>
5067
constexpr size_t encode_types_impl()
5068
0
{
5069
0
    return static_cast<unsigned>(mapped_type_constant<T, CharT>::value) |
5070
0
           (encode_types_impl<CharT, Others...>() << packed_arg_bits);
5071
0
}
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, signed char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, unsigned char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, signed char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, unsigned char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, float>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, long double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, float>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, long double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, bool>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, void*>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, wchar_t>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, bool>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, void*>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types_impl<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
5072
5073
template <typename CharT, typename... Ts>
5074
constexpr size_t encode_types()
5075
0
{
5076
0
    if constexpr (sizeof...(Ts) < (1 << packed_arg_bits)) {
5077
0
        return sizeof...(Ts) |
5078
0
               (encode_types_impl<CharT, Ts...>() << packed_arg_bits);
5079
0
    }
5080
0
    else {
5081
0
        SCN_EXPECT(false);
5082
0
        SCN_UNREACHABLE;
5083
0
    }
5084
0
}
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, signed char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, unsigned char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, signed char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, unsigned char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, float>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, long double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, float>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, long double>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, char>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, bool>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, void*>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, wchar_t>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, bool>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, void*>()
Unexecuted instantiation: unsigned long scn::v3::detail::encode_types<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
5085
5086
template <typename Arg>
5087
constexpr auto make_value_impl(Arg&& arg)
5088
16.7M
{
5089
16.7M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5090
16.7M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5091
5092
16.7M
    constexpr bool scannable_char =
5093
16.7M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5094
16.7M
    static_assert(scannable_char,
5095
16.7M
                  "Cannot scan an argument of an unsupported character "
5096
16.7M
                  "type (i.e. char from a wchar_t source)");
5097
5098
16.7M
    constexpr bool scannable_const =
5099
16.7M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5100
16.7M
    static_assert(scannable_const, "Cannot scan a const argument");
5101
5102
16.7M
    constexpr bool scannable_disabled =
5103
16.7M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5104
16.7M
    static_assert(scannable_disabled,
5105
16.7M
                  "Cannot scan an argument that has been disabled by "
5106
16.7M
                  "flag (SCN_DISABLE_TYPE_*)");
5107
5108
16.7M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5109
16.7M
    static_assert(
5110
16.7M
        scannable,
5111
16.7M
        "Cannot scan an argument. To make a type T scannable, provide "
5112
16.7M
        "a scn::scanner<T, CharT> specialization.");
5113
5114
16.7M
    return arg_value{arg};
5115
16.7M
}
auto scn::v3::detail::make_value_impl<signed char&>(signed char&)
Line
Count
Source
5088
840k
{
5089
840k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5090
840k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5091
5092
840k
    constexpr bool scannable_char =
5093
840k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5094
840k
    static_assert(scannable_char,
5095
840k
                  "Cannot scan an argument of an unsupported character "
5096
840k
                  "type (i.e. char from a wchar_t source)");
5097
5098
840k
    constexpr bool scannable_const =
5099
840k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5100
840k
    static_assert(scannable_const, "Cannot scan a const argument");
5101
5102
840k
    constexpr bool scannable_disabled =
5103
840k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5104
840k
    static_assert(scannable_disabled,
5105
840k
                  "Cannot scan an argument that has been disabled by "
5106
840k
                  "flag (SCN_DISABLE_TYPE_*)");
5107
5108
840k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5109
840k
    static_assert(
5110
840k
        scannable,
5111
840k
        "Cannot scan an argument. To make a type T scannable, provide "
5112
840k
        "a scn::scanner<T, CharT> specialization.");
5113
5114
840k
    return arg_value{arg};
5115
840k
}
auto scn::v3::detail::make_value_impl<unsigned char&>(unsigned char&)
Line
Count
Source
5088
813k
{
5089
813k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5090
813k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5091
5092
813k
    constexpr bool scannable_char =
5093
813k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5094
813k
    static_assert(scannable_char,
5095
813k
                  "Cannot scan an argument of an unsupported character "
5096
813k
                  "type (i.e. char from a wchar_t source)");
5097
5098
813k
    constexpr bool scannable_const =
5099
813k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5100
813k
    static_assert(scannable_const, "Cannot scan a const argument");
5101
5102
813k
    constexpr bool scannable_disabled =
5103
813k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5104
813k
    static_assert(scannable_disabled,
5105
813k
                  "Cannot scan an argument that has been disabled by "
5106
813k
                  "flag (SCN_DISABLE_TYPE_*)");
5107
5108
813k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5109
813k
    static_assert(
5110
813k
        scannable,
5111
813k
        "Cannot scan an argument. To make a type T scannable, provide "
5112
813k
        "a scn::scanner<T, CharT> specialization.");
5113
5114
813k
    return arg_value{arg};
5115
813k
}
auto scn::v3::detail::make_value_impl<int&>(int&)
Line
Count
Source
5088
1.10M
{
5089
1.10M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5090
1.10M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5091
5092
1.10M
    constexpr bool scannable_char =
5093
1.10M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5094
1.10M
    static_assert(scannable_char,
5095
1.10M
                  "Cannot scan an argument of an unsupported character "
5096
1.10M
                  "type (i.e. char from a wchar_t source)");
5097
5098
1.10M
    constexpr bool scannable_const =
5099
1.10M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5100
1.10M
    static_assert(scannable_const, "Cannot scan a const argument");
5101
5102
1.10M
    constexpr bool scannable_disabled =
5103
1.10M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5104
1.10M
    static_assert(scannable_disabled,
5105
1.10M
                  "Cannot scan an argument that has been disabled by "
5106
1.10M
                  "flag (SCN_DISABLE_TYPE_*)");
5107
5108
1.10M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5109
1.10M
    static_assert(
5110
1.10M
        scannable,
5111
1.10M
        "Cannot scan an argument. To make a type T scannable, provide "
5112
1.10M
        "a scn::scanner<T, CharT> specialization.");
5113
5114
1.10M
    return arg_value{arg};
5115
1.10M
}
auto scn::v3::detail::make_value_impl<unsigned int&>(unsigned int&)
Line
Count
Source
5088
992k
{
5089
992k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5090
992k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5091
5092
992k
    constexpr bool scannable_char =
5093
992k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5094
992k
    static_assert(scannable_char,
5095
992k
                  "Cannot scan an argument of an unsupported character "
5096
992k
                  "type (i.e. char from a wchar_t source)");
5097
5098
992k
    constexpr bool scannable_const =
5099
992k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5100
992k
    static_assert(scannable_const, "Cannot scan a const argument");
5101
5102
992k
    constexpr bool scannable_disabled =
5103
992k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5104
992k
    static_assert(scannable_disabled,
5105
992k
                  "Cannot scan an argument that has been disabled by "
5106
992k
                  "flag (SCN_DISABLE_TYPE_*)");
5107
5108
992k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5109
992k
    static_assert(
5110
992k
        scannable,
5111
992k
        "Cannot scan an argument. To make a type T scannable, provide "
5112
992k
        "a scn::scanner<T, CharT> specialization.");
5113
5114
992k
    return arg_value{arg};
5115
992k
}
auto scn::v3::detail::make_value_impl<long long&>(long long&)
Line
Count
Source
5088
1.02M
{
5089
1.02M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5090
1.02M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5091
5092
1.02M
    constexpr bool scannable_char =
5093
1.02M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5094
1.02M
    static_assert(scannable_char,
5095
1.02M
                  "Cannot scan an argument of an unsupported character "
5096
1.02M
                  "type (i.e. char from a wchar_t source)");
5097
5098
1.02M
    constexpr bool scannable_const =
5099
1.02M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5100
1.02M
    static_assert(scannable_const, "Cannot scan a const argument");
5101
5102
1.02M
    constexpr bool scannable_disabled =
5103
1.02M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5104
1.02M
    static_assert(scannable_disabled,
5105
1.02M
                  "Cannot scan an argument that has been disabled by "
5106
1.02M
                  "flag (SCN_DISABLE_TYPE_*)");
5107
5108
1.02M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5109
1.02M
    static_assert(
5110
1.02M
        scannable,
5111
1.02M
        "Cannot scan an argument. To make a type T scannable, provide "
5112
1.02M
        "a scn::scanner<T, CharT> specialization.");
5113
5114
1.02M
    return arg_value{arg};
5115
1.02M
}
auto scn::v3::detail::make_value_impl<unsigned long long&>(unsigned long long&)
Line
Count
Source
5088
905k
{
5089
905k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5090
905k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5091
5092
905k
    constexpr bool scannable_char =
5093
905k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5094
905k
    static_assert(scannable_char,
5095
905k
                  "Cannot scan an argument of an unsupported character "
5096
905k
                  "type (i.e. char from a wchar_t source)");
5097
5098
905k
    constexpr bool scannable_const =
5099
905k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5100
905k
    static_assert(scannable_const, "Cannot scan a const argument");
5101
5102
905k
    constexpr bool scannable_disabled =
5103
905k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5104
905k
    static_assert(scannable_disabled,
5105
905k
                  "Cannot scan an argument that has been disabled by "
5106
905k
                  "flag (SCN_DISABLE_TYPE_*)");
5107
5108
905k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5109
905k
    static_assert(
5110
905k
        scannable,
5111
905k
        "Cannot scan an argument. To make a type T scannable, provide "
5112
905k
        "a scn::scanner<T, CharT> specialization.");
5113
5114
905k
    return arg_value{arg};
5115
905k
}
auto scn::v3::detail::make_value_impl<float&>(float&)
Line
Count
Source
5088
2.29M
{
5089
2.29M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5090
2.29M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5091
5092
2.29M
    constexpr bool scannable_char =
5093
2.29M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5094
2.29M
    static_assert(scannable_char,
5095
2.29M
                  "Cannot scan an argument of an unsupported character "
5096
2.29M
                  "type (i.e. char from a wchar_t source)");
5097
5098
2.29M
    constexpr bool scannable_const =
5099
2.29M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5100
2.29M
    static_assert(scannable_const, "Cannot scan a const argument");
5101
5102
2.29M
    constexpr bool scannable_disabled =
5103
2.29M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5104
2.29M
    static_assert(scannable_disabled,
5105
2.29M
                  "Cannot scan an argument that has been disabled by "
5106
2.29M
                  "flag (SCN_DISABLE_TYPE_*)");
5107
5108
2.29M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5109
2.29M
    static_assert(
5110
2.29M
        scannable,
5111
2.29M
        "Cannot scan an argument. To make a type T scannable, provide "
5112
2.29M
        "a scn::scanner<T, CharT> specialization.");
5113
5114
2.29M
    return arg_value{arg};
5115
2.29M
}
auto scn::v3::detail::make_value_impl<double&>(double&)
Line
Count
Source
5088
2.54M
{
5089
2.54M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5090
2.54M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5091
5092
2.54M
    constexpr bool scannable_char =
5093
2.54M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5094
2.54M
    static_assert(scannable_char,
5095
2.54M
                  "Cannot scan an argument of an unsupported character "
5096
2.54M
                  "type (i.e. char from a wchar_t source)");
5097
5098
2.54M
    constexpr bool scannable_const =
5099
2.54M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5100
2.54M
    static_assert(scannable_const, "Cannot scan a const argument");
5101
5102
2.54M
    constexpr bool scannable_disabled =
5103
2.54M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5104
2.54M
    static_assert(scannable_disabled,
5105
2.54M
                  "Cannot scan an argument that has been disabled by "
5106
2.54M
                  "flag (SCN_DISABLE_TYPE_*)");
5107
5108
2.54M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5109
2.54M
    static_assert(
5110
2.54M
        scannable,
5111
2.54M
        "Cannot scan an argument. To make a type T scannable, provide "
5112
2.54M
        "a scn::scanner<T, CharT> specialization.");
5113
5114
2.54M
    return arg_value{arg};
5115
2.54M
}
auto scn::v3::detail::make_value_impl<long double&>(long double&)
Line
Count
Source
5088
2.47M
{
5089
2.47M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5090
2.47M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5091
5092
2.47M
    constexpr bool scannable_char =
5093
2.47M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5094
2.47M
    static_assert(scannable_char,
5095
2.47M
                  "Cannot scan an argument of an unsupported character "
5096
2.47M
                  "type (i.e. char from a wchar_t source)");
5097
5098
2.47M
    constexpr bool scannable_const =
5099
2.47M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5100
2.47M
    static_assert(scannable_const, "Cannot scan a const argument");
5101
5102
2.47M
    constexpr bool scannable_disabled =
5103
2.47M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5104
2.47M
    static_assert(scannable_disabled,
5105
2.47M
                  "Cannot scan an argument that has been disabled by "
5106
2.47M
                  "flag (SCN_DISABLE_TYPE_*)");
5107
5108
2.47M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5109
2.47M
    static_assert(
5110
2.47M
        scannable,
5111
2.47M
        "Cannot scan an argument. To make a type T scannable, provide "
5112
2.47M
        "a scn::scanner<T, CharT> specialization.");
5113
5114
2.47M
    return arg_value{arg};
5115
2.47M
}
auto scn::v3::detail::make_value_impl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5088
442k
{
5089
442k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5090
442k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5091
5092
442k
    constexpr bool scannable_char =
5093
442k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5094
442k
    static_assert(scannable_char,
5095
442k
                  "Cannot scan an argument of an unsupported character "
5096
442k
                  "type (i.e. char from a wchar_t source)");
5097
5098
442k
    constexpr bool scannable_const =
5099
442k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5100
442k
    static_assert(scannable_const, "Cannot scan a const argument");
5101
5102
442k
    constexpr bool scannable_disabled =
5103
442k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5104
442k
    static_assert(scannable_disabled,
5105
442k
                  "Cannot scan an argument that has been disabled by "
5106
442k
                  "flag (SCN_DISABLE_TYPE_*)");
5107
5108
442k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5109
442k
    static_assert(
5110
442k
        scannable,
5111
442k
        "Cannot scan an argument. To make a type T scannable, provide "
5112
442k
        "a scn::scanner<T, CharT> specialization.");
5113
5114
442k
    return arg_value{arg};
5115
442k
}
auto scn::v3::detail::make_value_impl<std::__1::basic_string_view<char, std::__1::char_traits<char> >&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5088
196k
{
5089
196k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5090
196k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5091
5092
196k
    constexpr bool scannable_char =
5093
196k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5094
196k
    static_assert(scannable_char,
5095
196k
                  "Cannot scan an argument of an unsupported character "
5096
196k
                  "type (i.e. char from a wchar_t source)");
5097
5098
196k
    constexpr bool scannable_const =
5099
196k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5100
196k
    static_assert(scannable_const, "Cannot scan a const argument");
5101
5102
196k
    constexpr bool scannable_disabled =
5103
196k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5104
196k
    static_assert(scannable_disabled,
5105
196k
                  "Cannot scan an argument that has been disabled by "
5106
196k
                  "flag (SCN_DISABLE_TYPE_*)");
5107
5108
196k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5109
196k
    static_assert(
5110
196k
        scannable,
5111
196k
        "Cannot scan an argument. To make a type T scannable, provide "
5112
196k
        "a scn::scanner<T, CharT> specialization.");
5113
5114
196k
    return arg_value{arg};
5115
196k
}
auto scn::v3::detail::make_value_impl<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5088
1.88M
{
5089
1.88M
    using arg_nocvref_t = remove_cvref_t<Arg>;
5090
1.88M
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5091
5092
1.88M
    constexpr bool scannable_char =
5093
1.88M
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5094
1.88M
    static_assert(scannable_char,
5095
1.88M
                  "Cannot scan an argument of an unsupported character "
5096
1.88M
                  "type (i.e. char from a wchar_t source)");
5097
5098
1.88M
    constexpr bool scannable_const =
5099
1.88M
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5100
1.88M
    static_assert(scannable_const, "Cannot scan a const argument");
5101
5102
1.88M
    constexpr bool scannable_disabled =
5103
1.88M
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5104
1.88M
    static_assert(scannable_disabled,
5105
1.88M
                  "Cannot scan an argument that has been disabled by "
5106
1.88M
                  "flag (SCN_DISABLE_TYPE_*)");
5107
5108
1.88M
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5109
1.88M
    static_assert(
5110
1.88M
        scannable,
5111
1.88M
        "Cannot scan an argument. To make a type T scannable, provide "
5112
1.88M
        "a scn::scanner<T, CharT> specialization.");
5113
5114
1.88M
    return arg_value{arg};
5115
1.88M
}
auto scn::v3::detail::make_value_impl<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5088
960k
{
5089
960k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5090
960k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5091
5092
960k
    constexpr bool scannable_char =
5093
960k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5094
960k
    static_assert(scannable_char,
5095
960k
                  "Cannot scan an argument of an unsupported character "
5096
960k
                  "type (i.e. char from a wchar_t source)");
5097
5098
960k
    constexpr bool scannable_const =
5099
960k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5100
960k
    static_assert(scannable_const, "Cannot scan a const argument");
5101
5102
960k
    constexpr bool scannable_disabled =
5103
960k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5104
960k
    static_assert(scannable_disabled,
5105
960k
                  "Cannot scan an argument that has been disabled by "
5106
960k
                  "flag (SCN_DISABLE_TYPE_*)");
5107
5108
960k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5109
960k
    static_assert(
5110
960k
        scannable,
5111
960k
        "Cannot scan an argument. To make a type T scannable, provide "
5112
960k
        "a scn::scanner<T, CharT> specialization.");
5113
5114
960k
    return arg_value{arg};
5115
960k
}
auto scn::v3::detail::make_value_impl<char&>(char&)
Line
Count
Source
5088
31.8k
{
5089
31.8k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5090
31.8k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5091
5092
31.8k
    constexpr bool scannable_char =
5093
31.8k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5094
31.8k
    static_assert(scannable_char,
5095
31.8k
                  "Cannot scan an argument of an unsupported character "
5096
31.8k
                  "type (i.e. char from a wchar_t source)");
5097
5098
31.8k
    constexpr bool scannable_const =
5099
31.8k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5100
31.8k
    static_assert(scannable_const, "Cannot scan a const argument");
5101
5102
31.8k
    constexpr bool scannable_disabled =
5103
31.8k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5104
31.8k
    static_assert(scannable_disabled,
5105
31.8k
                  "Cannot scan an argument that has been disabled by "
5106
31.8k
                  "flag (SCN_DISABLE_TYPE_*)");
5107
5108
31.8k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5109
31.8k
    static_assert(
5110
31.8k
        scannable,
5111
31.8k
        "Cannot scan an argument. To make a type T scannable, provide "
5112
31.8k
        "a scn::scanner<T, CharT> specialization.");
5113
5114
31.8k
    return arg_value{arg};
5115
31.8k
}
auto scn::v3::detail::make_value_impl<bool&>(bool&)
Line
Count
Source
5088
95.4k
{
5089
95.4k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5090
95.4k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5091
5092
95.4k
    constexpr bool scannable_char =
5093
95.4k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5094
95.4k
    static_assert(scannable_char,
5095
95.4k
                  "Cannot scan an argument of an unsupported character "
5096
95.4k
                  "type (i.e. char from a wchar_t source)");
5097
5098
95.4k
    constexpr bool scannable_const =
5099
95.4k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5100
95.4k
    static_assert(scannable_const, "Cannot scan a const argument");
5101
5102
95.4k
    constexpr bool scannable_disabled =
5103
95.4k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5104
95.4k
    static_assert(scannable_disabled,
5105
95.4k
                  "Cannot scan an argument that has been disabled by "
5106
95.4k
                  "flag (SCN_DISABLE_TYPE_*)");
5107
5108
95.4k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5109
95.4k
    static_assert(
5110
95.4k
        scannable,
5111
95.4k
        "Cannot scan an argument. To make a type T scannable, provide "
5112
95.4k
        "a scn::scanner<T, CharT> specialization.");
5113
5114
95.4k
    return arg_value{arg};
5115
95.4k
}
auto scn::v3::detail::make_value_impl<void*&>(void*&)
Line
Count
Source
5088
95.4k
{
5089
95.4k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5090
95.4k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5091
5092
95.4k
    constexpr bool scannable_char =
5093
95.4k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5094
95.4k
    static_assert(scannable_char,
5095
95.4k
                  "Cannot scan an argument of an unsupported character "
5096
95.4k
                  "type (i.e. char from a wchar_t source)");
5097
5098
95.4k
    constexpr bool scannable_const =
5099
95.4k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5100
95.4k
    static_assert(scannable_const, "Cannot scan a const argument");
5101
5102
95.4k
    constexpr bool scannable_disabled =
5103
95.4k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5104
95.4k
    static_assert(scannable_disabled,
5105
95.4k
                  "Cannot scan an argument that has been disabled by "
5106
95.4k
                  "flag (SCN_DISABLE_TYPE_*)");
5107
5108
95.4k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5109
95.4k
    static_assert(
5110
95.4k
        scannable,
5111
95.4k
        "Cannot scan an argument. To make a type T scannable, provide "
5112
95.4k
        "a scn::scanner<T, CharT> specialization.");
5113
5114
95.4k
    return arg_value{arg};
5115
95.4k
}
auto scn::v3::detail::make_value_impl<wchar_t&>(wchar_t&)
Line
Count
Source
5088
63.6k
{
5089
63.6k
    using arg_nocvref_t = remove_cvref_t<Arg>;
5090
63.6k
    static_assert(!std::is_same_v<arg_nocvref_t, needs_context_tag>);
5091
5092
63.6k
    constexpr bool scannable_char =
5093
63.6k
        !std::is_same_v<arg_nocvref_t, unscannable_char>;
5094
63.6k
    static_assert(scannable_char,
5095
63.6k
                  "Cannot scan an argument of an unsupported character "
5096
63.6k
                  "type (i.e. char from a wchar_t source)");
5097
5098
63.6k
    constexpr bool scannable_const =
5099
63.6k
        !std::is_same_v<arg_nocvref_t, unscannable_const>;
5100
63.6k
    static_assert(scannable_const, "Cannot scan a const argument");
5101
5102
63.6k
    constexpr bool scannable_disabled =
5103
63.6k
        !std::is_same_v<arg_nocvref_t, unscannable_disabled>;
5104
63.6k
    static_assert(scannable_disabled,
5105
63.6k
                  "Cannot scan an argument that has been disabled by "
5106
63.6k
                  "flag (SCN_DISABLE_TYPE_*)");
5107
5108
63.6k
    constexpr bool scannable = !std::is_same_v<arg_nocvref_t, unscannable>;
5109
63.6k
    static_assert(
5110
63.6k
        scannable,
5111
63.6k
        "Cannot scan an argument. To make a type T scannable, provide "
5112
63.6k
        "a scn::scanner<T, CharT> specialization.");
5113
5114
63.6k
    return arg_value{arg};
5115
63.6k
}
5116
5117
template <typename Context, typename T>
5118
constexpr auto make_value(T& value)
5119
16.7M
{
5120
16.7M
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
16.7M
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
16.7M
                                  needs_context_tag>) {
5124
16.7M
        return make_value_impl(SCN_FWD(arg));
5125
16.7M
    }
5126
16.7M
    else {
5127
16.7M
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
16.7M
            value, context_tag<Context>{}));
5129
16.7M
    }
5130
16.7M
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, signed char>(signed char&)
Line
Count
Source
5119
676k
{
5120
676k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
676k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
676k
                                  needs_context_tag>) {
5124
676k
        return make_value_impl(SCN_FWD(arg));
5125
676k
    }
5126
676k
    else {
5127
676k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
676k
            value, context_tag<Context>{}));
5129
676k
    }
5130
676k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, unsigned char>(unsigned char&)
Line
Count
Source
5119
649k
{
5120
649k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
649k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
649k
                                  needs_context_tag>) {
5124
649k
        return make_value_impl(SCN_FWD(arg));
5125
649k
    }
5126
649k
    else {
5127
649k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
649k
            value, context_tag<Context>{}));
5129
649k
    }
5130
649k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, int>(int&)
Line
Count
Source
5119
879k
{
5120
879k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
879k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
879k
                                  needs_context_tag>) {
5124
879k
        return make_value_impl(SCN_FWD(arg));
5125
879k
    }
5126
879k
    else {
5127
879k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
879k
            value, context_tag<Context>{}));
5129
879k
    }
5130
879k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, unsigned int>(unsigned int&)
Line
Count
Source
5119
764k
{
5120
764k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
764k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
764k
                                  needs_context_tag>) {
5124
764k
        return make_value_impl(SCN_FWD(arg));
5125
764k
    }
5126
764k
    else {
5127
764k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
764k
            value, context_tag<Context>{}));
5129
764k
    }
5130
764k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, long long>(long long&)
Line
Count
Source
5119
863k
{
5120
863k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
863k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
863k
                                  needs_context_tag>) {
5124
863k
        return make_value_impl(SCN_FWD(arg));
5125
863k
    }
5126
863k
    else {
5127
863k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
863k
            value, context_tag<Context>{}));
5129
863k
    }
5130
863k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, unsigned long long>(unsigned long long&)
Line
Count
Source
5119
740k
{
5120
740k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
740k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
740k
                                  needs_context_tag>) {
5124
740k
        return make_value_impl(SCN_FWD(arg));
5125
740k
    }
5126
740k
    else {
5127
740k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
740k
            value, context_tag<Context>{}));
5129
740k
    }
5130
740k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, signed char>(signed char&)
Line
Count
Source
5119
164k
{
5120
164k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
164k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
164k
                                  needs_context_tag>) {
5124
164k
        return make_value_impl(SCN_FWD(arg));
5125
164k
    }
5126
164k
    else {
5127
164k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
164k
            value, context_tag<Context>{}));
5129
164k
    }
5130
164k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, unsigned char>(unsigned char&)
Line
Count
Source
5119
164k
{
5120
164k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
164k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
164k
                                  needs_context_tag>) {
5124
164k
        return make_value_impl(SCN_FWD(arg));
5125
164k
    }
5126
164k
    else {
5127
164k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
164k
            value, context_tag<Context>{}));
5129
164k
    }
5130
164k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, int>(int&)
Line
Count
Source
5119
228k
{
5120
228k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
228k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
228k
                                  needs_context_tag>) {
5124
228k
        return make_value_impl(SCN_FWD(arg));
5125
228k
    }
5126
228k
    else {
5127
228k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
228k
            value, context_tag<Context>{}));
5129
228k
    }
5130
228k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, unsigned int>(unsigned int&)
Line
Count
Source
5119
228k
{
5120
228k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
228k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
228k
                                  needs_context_tag>) {
5124
228k
        return make_value_impl(SCN_FWD(arg));
5125
228k
    }
5126
228k
    else {
5127
228k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
228k
            value, context_tag<Context>{}));
5129
228k
    }
5130
228k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, long long>(long long&)
Line
Count
Source
5119
165k
{
5120
165k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
165k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
165k
                                  needs_context_tag>) {
5124
165k
        return make_value_impl(SCN_FWD(arg));
5125
165k
    }
5126
165k
    else {
5127
165k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
165k
            value, context_tag<Context>{}));
5129
165k
    }
5130
165k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, unsigned long long>(unsigned long long&)
Line
Count
Source
5119
164k
{
5120
164k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
164k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
164k
                                  needs_context_tag>) {
5124
164k
        return make_value_impl(SCN_FWD(arg));
5125
164k
    }
5126
164k
    else {
5127
164k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
164k
            value, context_tag<Context>{}));
5129
164k
    }
5130
164k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, float>(float&)
Line
Count
Source
5119
1.97M
{
5120
1.97M
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
1.97M
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
1.97M
                                  needs_context_tag>) {
5124
1.97M
        return make_value_impl(SCN_FWD(arg));
5125
1.97M
    }
5126
1.97M
    else {
5127
1.97M
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
1.97M
            value, context_tag<Context>{}));
5129
1.97M
    }
5130
1.97M
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, double>(double&)
Line
Count
Source
5119
2.16M
{
5120
2.16M
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
2.16M
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
2.16M
                                  needs_context_tag>) {
5124
2.16M
        return make_value_impl(SCN_FWD(arg));
5125
2.16M
    }
5126
2.16M
    else {
5127
2.16M
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
2.16M
            value, context_tag<Context>{}));
5129
2.16M
    }
5130
2.16M
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, long double>(long double&)
Line
Count
Source
5119
2.15M
{
5120
2.15M
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
2.15M
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
2.15M
                                  needs_context_tag>) {
5124
2.15M
        return make_value_impl(SCN_FWD(arg));
5125
2.15M
    }
5126
2.15M
    else {
5127
2.15M
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
2.15M
            value, context_tag<Context>{}));
5129
2.15M
    }
5130
2.15M
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, float>(float&)
Line
Count
Source
5119
323k
{
5120
323k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
323k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
323k
                                  needs_context_tag>) {
5124
323k
        return make_value_impl(SCN_FWD(arg));
5125
323k
    }
5126
323k
    else {
5127
323k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
323k
            value, context_tag<Context>{}));
5129
323k
    }
5130
323k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, double>(double&)
Line
Count
Source
5119
388k
{
5120
388k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
388k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
388k
                                  needs_context_tag>) {
5124
388k
        return make_value_impl(SCN_FWD(arg));
5125
388k
    }
5126
388k
    else {
5127
388k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
388k
            value, context_tag<Context>{}));
5129
388k
    }
5130
388k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, long double>(long double&)
Line
Count
Source
5119
326k
{
5120
326k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
326k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
326k
                                  needs_context_tag>) {
5124
326k
        return make_value_impl(SCN_FWD(arg));
5125
326k
    }
5126
326k
    else {
5127
326k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
326k
            value, context_tag<Context>{}));
5129
326k
    }
5130
326k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5119
379k
{
5120
379k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
379k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
379k
                                  needs_context_tag>) {
5124
379k
        return make_value_impl(SCN_FWD(arg));
5125
379k
    }
5126
379k
    else {
5127
379k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
379k
            value, context_tag<Context>{}));
5129
379k
    }
5130
379k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5119
196k
{
5120
196k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
196k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
196k
                                  needs_context_tag>) {
5124
196k
        return make_value_impl(SCN_FWD(arg));
5125
196k
    }
5126
196k
    else {
5127
196k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
196k
            value, context_tag<Context>{}));
5129
196k
    }
5130
196k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5119
1.85M
{
5120
1.85M
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
1.85M
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
1.85M
                                  needs_context_tag>) {
5124
1.85M
        return make_value_impl(SCN_FWD(arg));
5125
1.85M
    }
5126
1.85M
    else {
5127
1.85M
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
1.85M
            value, context_tag<Context>{}));
5129
1.85M
    }
5130
1.85M
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5119
960k
{
5120
960k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
960k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
960k
                                  needs_context_tag>) {
5124
960k
        return make_value_impl(SCN_FWD(arg));
5125
960k
    }
5126
960k
    else {
5127
960k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
960k
            value, context_tag<Context>{}));
5129
960k
    }
5130
960k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, char>(char&)
Line
Count
Source
5119
31.8k
{
5120
31.8k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
31.8k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
31.8k
                                  needs_context_tag>) {
5124
31.8k
        return make_value_impl(SCN_FWD(arg));
5125
31.8k
    }
5126
31.8k
    else {
5127
31.8k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
31.8k
            value, context_tag<Context>{}));
5129
31.8k
    }
5130
31.8k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, bool>(bool&)
Line
Count
Source
5119
31.8k
{
5120
31.8k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
31.8k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
31.8k
                                  needs_context_tag>) {
5124
31.8k
        return make_value_impl(SCN_FWD(arg));
5125
31.8k
    }
5126
31.8k
    else {
5127
31.8k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
31.8k
            value, context_tag<Context>{}));
5129
31.8k
    }
5130
31.8k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, void*>(void*&)
Line
Count
Source
5119
31.8k
{
5120
31.8k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
31.8k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
31.8k
                                  needs_context_tag>) {
5124
31.8k
        return make_value_impl(SCN_FWD(arg));
5125
31.8k
    }
5126
31.8k
    else {
5127
31.8k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
31.8k
            value, context_tag<Context>{}));
5129
31.8k
    }
5130
31.8k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5119
31.8k
{
5120
31.8k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
31.8k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
31.8k
                                  needs_context_tag>) {
5124
31.8k
        return make_value_impl(SCN_FWD(arg));
5125
31.8k
    }
5126
31.8k
    else {
5127
31.8k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
31.8k
            value, context_tag<Context>{}));
5129
31.8k
    }
5130
31.8k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, wchar_t>(wchar_t&)
Line
Count
Source
5119
63.6k
{
5120
63.6k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
63.6k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
63.6k
                                  needs_context_tag>) {
5124
63.6k
        return make_value_impl(SCN_FWD(arg));
5125
63.6k
    }
5126
63.6k
    else {
5127
63.6k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
63.6k
            value, context_tag<Context>{}));
5129
63.6k
    }
5130
63.6k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, bool>(bool&)
Line
Count
Source
5119
63.6k
{
5120
63.6k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
63.6k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
63.6k
                                  needs_context_tag>) {
5124
63.6k
        return make_value_impl(SCN_FWD(arg));
5125
63.6k
    }
5126
63.6k
    else {
5127
63.6k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
63.6k
            value, context_tag<Context>{}));
5129
63.6k
    }
5130
63.6k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, void*>(void*&)
Line
Count
Source
5119
63.6k
{
5120
63.6k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
63.6k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
63.6k
                                  needs_context_tag>) {
5124
63.6k
        return make_value_impl(SCN_FWD(arg));
5125
63.6k
    }
5126
63.6k
    else {
5127
63.6k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
63.6k
            value, context_tag<Context>{}));
5129
63.6k
    }
5130
63.6k
}
auto scn::v3::detail::make_value<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5119
63.6k
{
5120
63.6k
    auto&& arg = arg_mapper<typename Context::char_type>().map(value);
5121
5122
63.6k
    if constexpr (!std::is_same_v<remove_cvref_t<decltype(arg)>,
5123
63.6k
                                  needs_context_tag>) {
5124
63.6k
        return make_value_impl(SCN_FWD(arg));
5125
63.6k
    }
5126
63.6k
    else {
5127
63.6k
        return make_value_impl(arg_mapper<typename Context::char_type>().map(
5128
63.6k
            value, context_tag<Context>{}));
5129
63.6k
    }
5130
63.6k
}
5131
5132
template <typename... Args>
5133
constexpr void check_scan_arg_types()
5134
16.7M
{
5135
16.7M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5136
16.7M
                  "Scan argument types must be default constructible");
5137
16.7M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5138
16.7M
                  "Scan argument types must be Destructible");
5139
16.7M
    static_assert(
5140
16.7M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5141
16.7M
        "Scan argument types must not be references");
5142
16.7M
}
void scn::v3::detail::check_scan_arg_types<signed char>()
Line
Count
Source
5134
840k
{
5135
840k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5136
840k
                  "Scan argument types must be default constructible");
5137
840k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5138
840k
                  "Scan argument types must be Destructible");
5139
840k
    static_assert(
5140
840k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5141
840k
        "Scan argument types must not be references");
5142
840k
}
void scn::v3::detail::check_scan_arg_types<unsigned char>()
Line
Count
Source
5134
813k
{
5135
813k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5136
813k
                  "Scan argument types must be default constructible");
5137
813k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5138
813k
                  "Scan argument types must be Destructible");
5139
813k
    static_assert(
5140
813k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5141
813k
        "Scan argument types must not be references");
5142
813k
}
void scn::v3::detail::check_scan_arg_types<int>()
Line
Count
Source
5134
1.10M
{
5135
1.10M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5136
1.10M
                  "Scan argument types must be default constructible");
5137
1.10M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5138
1.10M
                  "Scan argument types must be Destructible");
5139
1.10M
    static_assert(
5140
1.10M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5141
1.10M
        "Scan argument types must not be references");
5142
1.10M
}
void scn::v3::detail::check_scan_arg_types<unsigned int>()
Line
Count
Source
5134
992k
{
5135
992k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5136
992k
                  "Scan argument types must be default constructible");
5137
992k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5138
992k
                  "Scan argument types must be Destructible");
5139
992k
    static_assert(
5140
992k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5141
992k
        "Scan argument types must not be references");
5142
992k
}
void scn::v3::detail::check_scan_arg_types<long long>()
Line
Count
Source
5134
1.02M
{
5135
1.02M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5136
1.02M
                  "Scan argument types must be default constructible");
5137
1.02M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5138
1.02M
                  "Scan argument types must be Destructible");
5139
1.02M
    static_assert(
5140
1.02M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5141
1.02M
        "Scan argument types must not be references");
5142
1.02M
}
void scn::v3::detail::check_scan_arg_types<unsigned long long>()
Line
Count
Source
5134
905k
{
5135
905k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5136
905k
                  "Scan argument types must be default constructible");
5137
905k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5138
905k
                  "Scan argument types must be Destructible");
5139
905k
    static_assert(
5140
905k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5141
905k
        "Scan argument types must not be references");
5142
905k
}
void scn::v3::detail::check_scan_arg_types<float>()
Line
Count
Source
5134
2.29M
{
5135
2.29M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5136
2.29M
                  "Scan argument types must be default constructible");
5137
2.29M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5138
2.29M
                  "Scan argument types must be Destructible");
5139
2.29M
    static_assert(
5140
2.29M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5141
2.29M
        "Scan argument types must not be references");
5142
2.29M
}
void scn::v3::detail::check_scan_arg_types<double>()
Line
Count
Source
5134
2.54M
{
5135
2.54M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5136
2.54M
                  "Scan argument types must be default constructible");
5137
2.54M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5138
2.54M
                  "Scan argument types must be Destructible");
5139
2.54M
    static_assert(
5140
2.54M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5141
2.54M
        "Scan argument types must not be references");
5142
2.54M
}
void scn::v3::detail::check_scan_arg_types<long double>()
Line
Count
Source
5134
2.47M
{
5135
2.47M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5136
2.47M
                  "Scan argument types must be default constructible");
5137
2.47M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5138
2.47M
                  "Scan argument types must be Destructible");
5139
2.47M
    static_assert(
5140
2.47M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5141
2.47M
        "Scan argument types must not be references");
5142
2.47M
}
void scn::v3::detail::check_scan_arg_types<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Line
Count
Source
5134
442k
{
5135
442k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5136
442k
                  "Scan argument types must be default constructible");
5137
442k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5138
442k
                  "Scan argument types must be Destructible");
5139
442k
    static_assert(
5140
442k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5141
442k
        "Scan argument types must not be references");
5142
442k
}
void scn::v3::detail::check_scan_arg_types<std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Line
Count
Source
5134
196k
{
5135
196k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5136
196k
                  "Scan argument types must be default constructible");
5137
196k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5138
196k
                  "Scan argument types must be Destructible");
5139
196k
    static_assert(
5140
196k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5141
196k
        "Scan argument types must not be references");
5142
196k
}
void scn::v3::detail::check_scan_arg_types<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Line
Count
Source
5134
1.88M
{
5135
1.88M
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5136
1.88M
                  "Scan argument types must be default constructible");
5137
1.88M
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5138
1.88M
                  "Scan argument types must be Destructible");
5139
1.88M
    static_assert(
5140
1.88M
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5141
1.88M
        "Scan argument types must not be references");
5142
1.88M
}
void scn::v3::detail::check_scan_arg_types<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
Line
Count
Source
5134
960k
{
5135
960k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5136
960k
                  "Scan argument types must be default constructible");
5137
960k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5138
960k
                  "Scan argument types must be Destructible");
5139
960k
    static_assert(
5140
960k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5141
960k
        "Scan argument types must not be references");
5142
960k
}
void scn::v3::detail::check_scan_arg_types<char>()
Line
Count
Source
5134
31.8k
{
5135
31.8k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5136
31.8k
                  "Scan argument types must be default constructible");
5137
31.8k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5138
31.8k
                  "Scan argument types must be Destructible");
5139
31.8k
    static_assert(
5140
31.8k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5141
31.8k
        "Scan argument types must not be references");
5142
31.8k
}
void scn::v3::detail::check_scan_arg_types<bool>()
Line
Count
Source
5134
95.4k
{
5135
95.4k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5136
95.4k
                  "Scan argument types must be default constructible");
5137
95.4k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5138
95.4k
                  "Scan argument types must be Destructible");
5139
95.4k
    static_assert(
5140
95.4k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5141
95.4k
        "Scan argument types must not be references");
5142
95.4k
}
void scn::v3::detail::check_scan_arg_types<void*>()
Line
Count
Source
5134
95.4k
{
5135
95.4k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5136
95.4k
                  "Scan argument types must be default constructible");
5137
95.4k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5138
95.4k
                  "Scan argument types must be Destructible");
5139
95.4k
    static_assert(
5140
95.4k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5141
95.4k
        "Scan argument types must not be references");
5142
95.4k
}
void scn::v3::detail::check_scan_arg_types<wchar_t>()
Line
Count
Source
5134
63.6k
{
5135
63.6k
    static_assert(std::conjunction_v<std::is_default_constructible<Args>...>,
5136
63.6k
                  "Scan argument types must be default constructible");
5137
63.6k
    static_assert(std::conjunction_v<std::is_destructible<Args>...>,
5138
63.6k
                  "Scan argument types must be Destructible");
5139
63.6k
    static_assert(
5140
63.6k
        !std::conjunction_v<std::false_type, std::is_reference<Args>...>,
5141
63.6k
        "Scan argument types must not be references");
5142
63.6k
}
5143
5144
enum class scan_arg_store_kind {
5145
    // only built-in types (no custom types), packed
5146
    builtin,
5147
5148
    packed,
5149
    unpacked
5150
};
5151
5152
template <typename Context, typename T>
5153
constexpr basic_scan_arg<Context> make_arg(T& value)
5154
1.67M
{
5155
1.67M
    check_scan_arg_types<T>();
5156
5157
1.67M
    basic_scan_arg<Context> arg;
5158
1.67M
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5159
1.67M
    arg.m_value = make_value<Context>(value);
5160
1.67M
    return arg;
5161
1.67M
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, signed char>(signed char&)
Line
Count
Source
5154
52.5k
{
5155
52.5k
    check_scan_arg_types<T>();
5156
5157
52.5k
    basic_scan_arg<Context> arg;
5158
52.5k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5159
52.5k
    arg.m_value = make_value<Context>(value);
5160
52.5k
    return arg;
5161
52.5k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, unsigned char>(unsigned char&)
Line
Count
Source
5154
46.6k
{
5155
46.6k
    check_scan_arg_types<T>();
5156
5157
46.6k
    basic_scan_arg<Context> arg;
5158
46.6k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5159
46.6k
    arg.m_value = make_value<Context>(value);
5160
46.6k
    return arg;
5161
46.6k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, int>(int&)
Line
Count
Source
5154
60.2k
{
5155
60.2k
    check_scan_arg_types<T>();
5156
5157
60.2k
    basic_scan_arg<Context> arg;
5158
60.2k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5159
60.2k
    arg.m_value = make_value<Context>(value);
5160
60.2k
    return arg;
5161
60.2k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, unsigned int>(unsigned int&)
Line
Count
Source
5154
51.9k
{
5155
51.9k
    check_scan_arg_types<T>();
5156
5157
51.9k
    basic_scan_arg<Context> arg;
5158
51.9k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5159
51.9k
    arg.m_value = make_value<Context>(value);
5160
51.9k
    return arg;
5161
51.9k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, long long>(long long&)
Line
Count
Source
5154
61.3k
{
5155
61.3k
    check_scan_arg_types<T>();
5156
5157
61.3k
    basic_scan_arg<Context> arg;
5158
61.3k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5159
61.3k
    arg.m_value = make_value<Context>(value);
5160
61.3k
    return arg;
5161
61.3k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, unsigned long long>(unsigned long long&)
Line
Count
Source
5154
52.6k
{
5155
52.6k
    check_scan_arg_types<T>();
5156
5157
52.6k
    basic_scan_arg<Context> arg;
5158
52.6k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5159
52.6k
    arg.m_value = make_value<Context>(value);
5160
52.6k
    return arg;
5161
52.6k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, signed char>(signed char&)
Line
Count
Source
5154
7.87k
{
5155
7.87k
    check_scan_arg_types<T>();
5156
5157
7.87k
    basic_scan_arg<Context> arg;
5158
7.87k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5159
7.87k
    arg.m_value = make_value<Context>(value);
5160
7.87k
    return arg;
5161
7.87k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, unsigned char>(unsigned char&)
Line
Count
Source
5154
7.85k
{
5155
7.85k
    check_scan_arg_types<T>();
5156
5157
7.85k
    basic_scan_arg<Context> arg;
5158
7.85k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5159
7.85k
    arg.m_value = make_value<Context>(value);
5160
7.85k
    return arg;
5161
7.85k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, int>(int&)
Line
Count
Source
5154
7.89k
{
5155
7.89k
    check_scan_arg_types<T>();
5156
5157
7.89k
    basic_scan_arg<Context> arg;
5158
7.89k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5159
7.89k
    arg.m_value = make_value<Context>(value);
5160
7.89k
    return arg;
5161
7.89k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, unsigned int>(unsigned int&)
Line
Count
Source
5154
7.86k
{
5155
7.86k
    check_scan_arg_types<T>();
5156
5157
7.86k
    basic_scan_arg<Context> arg;
5158
7.86k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5159
7.86k
    arg.m_value = make_value<Context>(value);
5160
7.86k
    return arg;
5161
7.86k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, long long>(long long&)
Line
Count
Source
5154
7.92k
{
5155
7.92k
    check_scan_arg_types<T>();
5156
5157
7.92k
    basic_scan_arg<Context> arg;
5158
7.92k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5159
7.92k
    arg.m_value = make_value<Context>(value);
5160
7.92k
    return arg;
5161
7.92k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, unsigned long long>(unsigned long long&)
Line
Count
Source
5154
7.89k
{
5155
7.89k
    check_scan_arg_types<T>();
5156
5157
7.89k
    basic_scan_arg<Context> arg;
5158
7.89k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5159
7.89k
    arg.m_value = make_value<Context>(value);
5160
7.89k
    return arg;
5161
7.89k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, float>(float&)
Line
Count
Source
5154
186k
{
5155
186k
    check_scan_arg_types<T>();
5156
5157
186k
    basic_scan_arg<Context> arg;
5158
186k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5159
186k
    arg.m_value = make_value<Context>(value);
5160
186k
    return arg;
5161
186k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, double>(double&)
Line
Count
Source
5154
206k
{
5155
206k
    check_scan_arg_types<T>();
5156
5157
206k
    basic_scan_arg<Context> arg;
5158
206k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5159
206k
    arg.m_value = make_value<Context>(value);
5160
206k
    return arg;
5161
206k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, long double>(long double&)
Line
Count
Source
5154
208k
{
5155
208k
    check_scan_arg_types<T>();
5156
5157
208k
    basic_scan_arg<Context> arg;
5158
208k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5159
208k
    arg.m_value = make_value<Context>(value);
5160
208k
    return arg;
5161
208k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, float>(float&)
Line
Count
Source
5154
26.2k
{
5155
26.2k
    check_scan_arg_types<T>();
5156
5157
26.2k
    basic_scan_arg<Context> arg;
5158
26.2k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5159
26.2k
    arg.m_value = make_value<Context>(value);
5160
26.2k
    return arg;
5161
26.2k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, double>(double&)
Line
Count
Source
5154
26.3k
{
5155
26.3k
    check_scan_arg_types<T>();
5156
5157
26.3k
    basic_scan_arg<Context> arg;
5158
26.3k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5159
26.3k
    arg.m_value = make_value<Context>(value);
5160
26.3k
    return arg;
5161
26.3k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, long double>(long double&)
Line
Count
Source
5154
26.6k
{
5155
26.6k
    check_scan_arg_types<T>();
5156
5157
26.6k
    basic_scan_arg<Context> arg;
5158
26.6k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5159
26.6k
    arg.m_value = make_value<Context>(value);
5160
26.6k
    return arg;
5161
26.6k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5154
65.2k
{
5155
65.2k
    check_scan_arg_types<T>();
5156
5157
65.2k
    basic_scan_arg<Context> arg;
5158
65.2k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5159
65.2k
    arg.m_value = make_value<Context>(value);
5160
65.2k
    return arg;
5161
65.2k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5154
30.9k
{
5155
30.9k
    check_scan_arg_types<T>();
5156
5157
30.9k
    basic_scan_arg<Context> arg;
5158
30.9k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5159
30.9k
    arg.m_value = make_value<Context>(value);
5160
30.9k
    return arg;
5161
30.9k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5154
351k
{
5155
351k
    check_scan_arg_types<T>();
5156
5157
351k
    basic_scan_arg<Context> arg;
5158
351k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5159
351k
    arg.m_value = make_value<Context>(value);
5160
351k
    return arg;
5161
351k
}
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> > scn::v3::detail::make_arg<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5154
175k
{
5155
175k
    check_scan_arg_types<T>();
5156
5157
175k
    basic_scan_arg<Context> arg;
5158
175k
    arg.m_type = mapped_type_constant<T, typename Context::char_type>::value;
5159
175k
    arg.m_value = make_value<Context>(value);
5160
175k
    return arg;
5161
175k
}
5162
5163
template <scan_arg_store_kind Kind,
5164
          typename Context,
5165
          arg_type,
5166
          typename T,
5167
          typename = std::enable_if_t<Kind == scan_arg_store_kind::builtin>>
5168
constexpr void* make_arg(T& value)
5169
15.1M
{
5170
15.1M
    return make_value<Context>(value).ref_value;
5171
15.1M
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)1, signed char, void>(signed char&)
Line
Count
Source
5169
623k
{
5170
623k
    return make_value<Context>(value).ref_value;
5171
623k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)6, unsigned char, void>(unsigned char&)
Line
Count
Source
5169
602k
{
5170
602k
    return make_value<Context>(value).ref_value;
5171
602k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)3, int, void>(int&)
Line
Count
Source
5169
819k
{
5170
819k
    return make_value<Context>(value).ref_value;
5171
819k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)8, unsigned int, void>(unsigned int&)
Line
Count
Source
5169
712k
{
5170
712k
    return make_value<Context>(value).ref_value;
5171
712k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)5, long long, void>(long long&)
Line
Count
Source
5169
801k
{
5170
801k
    return make_value<Context>(value).ref_value;
5171
801k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)10, unsigned long long, void>(unsigned long long&)
Line
Count
Source
5169
688k
{
5170
688k
    return make_value<Context>(value).ref_value;
5171
688k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)1, signed char, void>(signed char&)
Line
Count
Source
5169
156k
{
5170
156k
    return make_value<Context>(value).ref_value;
5171
156k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)6, unsigned char, void>(unsigned char&)
Line
Count
Source
5169
156k
{
5170
156k
    return make_value<Context>(value).ref_value;
5171
156k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)3, int, void>(int&)
Line
Count
Source
5169
220k
{
5170
220k
    return make_value<Context>(value).ref_value;
5171
220k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)8, unsigned int, void>(unsigned int&)
Line
Count
Source
5169
220k
{
5170
220k
    return make_value<Context>(value).ref_value;
5171
220k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)5, long long, void>(long long&)
Line
Count
Source
5169
157k
{
5170
157k
    return make_value<Context>(value).ref_value;
5171
157k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)10, unsigned long long, void>(unsigned long long&)
Line
Count
Source
5169
156k
{
5170
156k
    return make_value<Context>(value).ref_value;
5171
156k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)16, float, void>(float&)
Line
Count
Source
5169
1.78M
{
5170
1.78M
    return make_value<Context>(value).ref_value;
5171
1.78M
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)17, double, void>(double&)
Line
Count
Source
5169
1.95M
{
5170
1.95M
    return make_value<Context>(value).ref_value;
5171
1.95M
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)18, long double, void>(long double&)
Line
Count
Source
5169
1.94M
{
5170
1.94M
    return make_value<Context>(value).ref_value;
5171
1.94M
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)16, float, void>(float&)
Line
Count
Source
5169
297k
{
5170
297k
    return make_value<Context>(value).ref_value;
5171
297k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)17, double, void>(double&)
Line
Count
Source
5169
362k
{
5170
362k
    return make_value<Context>(value).ref_value;
5171
362k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)18, long double, void>(long double&)
Line
Count
Source
5169
300k
{
5170
300k
    return make_value<Context>(value).ref_value;
5171
300k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)21, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5169
313k
{
5170
313k
    return make_value<Context>(value).ref_value;
5171
313k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)19, std::__1::basic_string_view<char, std::__1::char_traits<char> >, void>(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5169
165k
{
5170
165k
    return make_value<Context>(value).ref_value;
5171
165k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)22, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, void>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5169
1.50M
{
5170
1.50M
    return make_value<Context>(value).ref_value;
5171
1.50M
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)20, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, void>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5169
785k
{
5170
785k
    return make_value<Context>(value).ref_value;
5171
785k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)12, char, void>(char&)
Line
Count
Source
5169
31.8k
{
5170
31.8k
    return make_value<Context>(value).ref_value;
5171
31.8k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)11, bool, void>(bool&)
Line
Count
Source
5169
31.8k
{
5170
31.8k
    return make_value<Context>(value).ref_value;
5171
31.8k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)15, void*, void>(void*&)
Line
Count
Source
5169
31.8k
{
5170
31.8k
    return make_value<Context>(value).ref_value;
5171
31.8k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<char>, (scn::v3::detail::arg_type)22, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >, void>(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5169
31.8k
{
5170
31.8k
    return make_value<Context>(value).ref_value;
5171
31.8k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)13, wchar_t, void>(wchar_t&)
Line
Count
Source
5169
63.6k
{
5170
63.6k
    return make_value<Context>(value).ref_value;
5171
63.6k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)11, bool, void>(bool&)
Line
Count
Source
5169
63.6k
{
5170
63.6k
    return make_value<Context>(value).ref_value;
5171
63.6k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)15, void*, void>(void*&)
Line
Count
Source
5169
63.6k
{
5170
63.6k
    return make_value<Context>(value).ref_value;
5171
63.6k
}
void* scn::v3::detail::make_arg<(scn::v3::detail::scan_arg_store_kind)0, scn::v3::basic_scan_context<wchar_t>, (scn::v3::detail::arg_type)21, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, void>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5169
63.6k
{
5170
63.6k
    return make_value<Context>(value).ref_value;
5171
63.6k
}
5172
template <scan_arg_store_kind Kind,
5173
          typename Context,
5174
          arg_type,
5175
          typename T,
5176
          typename = std::enable_if_t<Kind == scan_arg_store_kind::packed>>
5177
constexpr arg_value make_arg(T& value)
5178
{
5179
    return make_value<Context>(value);
5180
}
5181
template <scan_arg_store_kind Kind,
5182
          typename Context,
5183
          arg_type,
5184
          typename T,
5185
          typename = std::enable_if_t<Kind == scan_arg_store_kind::unpacked>>
5186
constexpr basic_scan_arg<Context> make_arg(T&& value)
5187
{
5188
    return make_arg<Context>(SCN_FWD(value));
5189
}
5190
5191
template <typename Context>
5192
constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg);
5193
}  // namespace detail
5194
5195
template <typename Visitor, typename Ctx>
5196
constexpr decltype(auto) visit_scan_arg(Visitor&& vis,
5197
                                        basic_scan_arg<Ctx>& arg);
5198
5199
/**
5200
 * Type-erased scanning argument.
5201
 *
5202
 * Contains a pointer to the value contained in a `scan_arg_store`.
5203
 */
5204
template <typename Context>
5205
class basic_scan_arg {
5206
public:
5207
    /**
5208
     * Enables scanning of a user-defined type.
5209
     *
5210
     * Contains a pointer to the value contained in a `scan_arg_store`, and
5211
     * a callback for parsing the format string, and scanning the value.
5212
     *
5213
     * \see scn::visit_scan_arg
5214
     */
5215
    class handle {
5216
    public:
5217
        /**
5218
         * Parse the format string in `parse_ctx`, and scan the value from
5219
         * `ctx`.
5220
         *
5221
         * \return Any error returned by the scanner
5222
         */
5223
        scan_error scan(typename Context::parse_context_type& parse_ctx,
5224
                        Context& ctx) const
5225
0
        {
5226
0
            return m_custom.scan(m_custom.value, &parse_ctx, &ctx);
5227
0
        }
Unexecuted instantiation: scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle::scan(scn::v3::basic_scan_parse_context<char>&, scn::v3::basic_scan_context<char>&) const
Unexecuted instantiation: scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle::scan(scn::v3::basic_scan_parse_context<wchar_t>&, scn::v3::basic_scan_context<wchar_t>&) const
5228
5229
    private:
5230
0
        explicit handle(detail::custom_value_type custom) : m_custom(custom) {}
Unexecuted instantiation: scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::handle::handle(scn::v3::detail::custom_value_type)
Unexecuted instantiation: scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::handle::handle(scn::v3::detail::custom_value_type)
5231
5232
        template <typename Visitor, typename C>
5233
        friend constexpr decltype(auto) visit_scan_arg(Visitor&& vis,
5234
                                                       basic_scan_arg<C>& arg);
5235
5236
        detail::custom_value_type m_custom;
5237
    };
5238
5239
    /// Construct a `basic_scan_arg` which doesn't contain an argument.
5240
16.2M
    constexpr basic_scan_arg() = default;
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::basic_scan_arg()
Line
Count
Source
5240
11.4M
    constexpr basic_scan_arg() = default;
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::basic_scan_arg()
Line
Count
Source
5240
4.76M
    constexpr basic_scan_arg() = default;
5241
5242
    /**
5243
     * @return `true` if `*this` contains an argument
5244
     */
5245
    constexpr explicit operator bool() const noexcept
5246
26.9M
    {
5247
26.9M
        return m_type != detail::arg_type::none_type;
5248
26.9M
    }
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::operator bool() const
Line
Count
Source
5246
19.6M
    {
5247
19.6M
        return m_type != detail::arg_type::none_type;
5248
19.6M
    }
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::operator bool() const
Line
Count
Source
5246
7.26M
    {
5247
7.26M
        return m_type != detail::arg_type::none_type;
5248
7.26M
    }
5249
5250
    SCN_NODISCARD constexpr detail::arg_type type() const
5251
22.3M
    {
5252
22.3M
        return m_type;
5253
22.3M
    }
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >::type() const
Line
Count
Source
5251
16.7M
    {
5252
16.7M
        return m_type;
5253
16.7M
    }
scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >::type() const
Line
Count
Source
5251
5.59M
    {
5252
5.59M
        return m_type;
5253
5.59M
    }
5254
5255
    SCN_NODISCARD constexpr detail::arg_value& value()
5256
    {
5257
        return m_value;
5258
    }
5259
    SCN_NODISCARD constexpr const detail::arg_value& value() const
5260
    {
5261
        return m_value;
5262
    }
5263
5264
private:
5265
    template <typename ContextType, typename T>
5266
    friend constexpr basic_scan_arg<ContextType> detail::make_arg(T& value);
5267
5268
    template <typename C>
5269
    friend constexpr detail::arg_value& detail::get_arg_value(
5270
        basic_scan_arg<C>& arg);
5271
5272
    template <typename Visitor, typename C>
5273
    friend constexpr decltype(auto) visit_scan_arg(Visitor&& vis,
5274
                                                   basic_scan_arg<C>& arg);
5275
5276
    friend class basic_scan_args<Context>;
5277
5278
    detail::arg_value m_value{};
5279
    detail::arg_type m_type{detail::arg_type::none_type};
5280
};
5281
5282
namespace detail {
5283
template <typename Context>
5284
constexpr arg_value& get_arg_value(basic_scan_arg<Context>& arg)
5285
{
5286
    return arg.m_value;
5287
}
5288
5289
template <typename CharT>
5290
constexpr bool all_types_builtin()
5291
0
{
5292
0
    return true;
5293
0
}
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t>()
5294
template <typename CharT, typename T, typename... Args>
5295
constexpr bool all_types_builtin()
5296
0
{
5297
0
    return mapped_type_constant<T, CharT>::value != arg_type::custom_type &&
5298
0
           all_types_builtin<CharT, Args...>();
5299
0
}
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, signed char>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, unsigned char>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, int>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, unsigned int>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, long long>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, unsigned long long>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, signed char>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, unsigned char>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, int>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, unsigned int>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, long long>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, unsigned long long>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, float>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, double>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, long double>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, float>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, double>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, long double>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, char>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, bool>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, void*>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, wchar_t>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, bool>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, void*>()
Unexecuted instantiation: bool scn::v3::detail::all_types_builtin<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >>()
5300
5301
template <typename CharT, typename... Args>
5302
constexpr scan_arg_store_kind determine_arg_store_kind()
5303
0
{
5304
0
    if (sizeof...(Args) > max_packed_args) {
5305
0
        return scan_arg_store_kind::unpacked;
5306
0
    }
5307
0
#if !(SCN_CLANG && SCN_APPLE)
5308
0
    // This doesn't work on Apple Clang. I don't know why
5309
0
    if (all_types_builtin<CharT, Args...>()) {
5310
0
        return scan_arg_store_kind::builtin;
5311
0
    }
5312
0
#endif
5313
0
    return scan_arg_store_kind::packed;
5314
0
}
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, signed char>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, unsigned char>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, int>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, unsigned int>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, long long>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, unsigned long long>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, signed char>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, unsigned char>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, int>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, unsigned int>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, long long>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, unsigned long long>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, float>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, double>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, long double>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, float>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, double>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, long double>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, char>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, bool>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, void*>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, wchar_t>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, bool>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, void*>()
Unexecuted instantiation: scn::v3::detail::scan_arg_store_kind scn::v3::detail::determine_arg_store_kind<wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
5315
5316
template <scan_arg_store_kind Kind, typename CharT, typename... Args>
5317
constexpr size_t compute_arg_store_desc()
5318
0
{
5319
0
    if constexpr (Kind == scan_arg_store_kind::builtin) {
5320
0
        return encode_types<CharT, Args...>();
5321
0
    }
5322
0
    else if constexpr (Kind == scan_arg_store_kind::packed) {
5323
0
        return encode_types<CharT, Args...>() | has_custom_types_bit;
5324
0
    }
5325
0
    else {
5326
0
        return sizeof...(Args) | is_unpacked_bit;
5327
0
    }
5328
0
}
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, signed char>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, unsigned char>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, int>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, unsigned int>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, signed char>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, unsigned char>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, int>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, unsigned int>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, unsigned long long>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, float>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, double>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, long double>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, float>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, double>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, long double>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, char>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, bool>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, void*>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, char, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, wchar_t>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, bool>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, void*>()
Unexecuted instantiation: unsigned long scn::v3::detail::compute_arg_store_desc<(scn::v3::detail::scan_arg_store_kind)0, wchar_t, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
5329
5330
template <typename Context, typename... Args>
5331
class scan_arg_store {
5332
public:
5333
    static constexpr scan_arg_store_kind kind =
5334
        determine_arg_store_kind<typename Context::char_type, Args...>();
5335
    static constexpr size_t desc =
5336
        compute_arg_store_desc<kind, typename Context::char_type, Args...>();
5337
5338
    using argptr_type = std::conditional_t<
5339
        kind == scan_arg_store_kind::builtin,
5340
        void*,
5341
        std::conditional_t<kind == scan_arg_store_kind::packed,
5342
                           arg_value,
5343
                           basic_scan_arg<Context>>>;
5344
    using argptrs_type = std::array<argptr_type, sizeof...(Args)>;
5345
5346
    constexpr scan_arg_store()
5347
        : m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5348
15.1M
    {
5349
15.1M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>::scan_arg_store()
Line
Count
Source
5348
623k
    {
5349
623k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>::scan_arg_store()
Line
Count
Source
5348
602k
    {
5349
602k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>::scan_arg_store()
Line
Count
Source
5348
819k
    {
5349
819k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>::scan_arg_store()
Line
Count
Source
5348
712k
    {
5349
712k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>::scan_arg_store()
Line
Count
Source
5348
801k
    {
5349
801k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>::scan_arg_store()
Line
Count
Source
5348
688k
    {
5349
688k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>::scan_arg_store()
Line
Count
Source
5348
156k
    {
5349
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>::scan_arg_store()
Line
Count
Source
5348
156k
    {
5349
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>::scan_arg_store()
Line
Count
Source
5348
220k
    {
5349
220k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>::scan_arg_store()
Line
Count
Source
5348
220k
    {
5349
220k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>::scan_arg_store()
Line
Count
Source
5348
157k
    {
5349
157k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>::scan_arg_store()
Line
Count
Source
5348
156k
    {
5349
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>::scan_arg_store()
Line
Count
Source
5348
1.78M
    {
5349
1.78M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>::scan_arg_store()
Line
Count
Source
5348
1.95M
    {
5349
1.95M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>::scan_arg_store()
Line
Count
Source
5348
1.94M
    {
5349
1.94M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>::scan_arg_store()
Line
Count
Source
5348
297k
    {
5349
297k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>::scan_arg_store()
Line
Count
Source
5348
362k
    {
5349
362k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>::scan_arg_store()
Line
Count
Source
5348
300k
    {
5349
300k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store()
Line
Count
Source
5348
313k
    {
5349
313k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::scan_arg_store()
Line
Count
Source
5348
165k
    {
5349
165k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_arg_store()
Line
Count
Source
5348
1.50M
    {
5349
1.50M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::scan_arg_store()
Line
Count
Source
5348
785k
    {
5349
785k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>::scan_arg_store()
Line
Count
Source
5348
31.8k
    {
5349
31.8k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>::scan_arg_store()
Line
Count
Source
5348
31.8k
    {
5349
31.8k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>::scan_arg_store()
Line
Count
Source
5348
31.8k
    {
5349
31.8k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_arg_store()
Line
Count
Source
5348
31.8k
    {
5349
31.8k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>::scan_arg_store()
Line
Count
Source
5348
63.6k
    {
5349
63.6k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>::scan_arg_store()
Line
Count
Source
5348
63.6k
    {
5349
63.6k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>::scan_arg_store()
Line
Count
Source
5348
63.6k
    {
5349
63.6k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_arg_store()
Line
Count
Source
5348
63.6k
    {
5349
63.6k
    }
5350
5351
    constexpr explicit scan_arg_store(std::tuple<Args...>&& a)
5352
        : m_args(std::move(a)),
5353
          m_argptrs(std::apply(make_argptrs<Args...>, m_args))
5354
    {
5355
    }
5356
5357
    template <typename... A>
5358
    static constexpr argptrs_type make_argptrs(A&... args)
5359
15.1M
    {
5360
15.1M
        return {detail::make_arg<
5361
15.1M
            kind, Context,
5362
15.1M
            mapped_type_constant<remove_cvref_t<A>,
5363
15.1M
                                 typename Context::char_type>::value>(args)...};
5364
15.1M
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>::make_argptrs<signed char>(signed char&)
Line
Count
Source
5359
623k
    {
5360
623k
        return {detail::make_arg<
5361
623k
            kind, Context,
5362
623k
            mapped_type_constant<remove_cvref_t<A>,
5363
623k
                                 typename Context::char_type>::value>(args)...};
5364
623k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>::make_argptrs<unsigned char>(unsigned char&)
Line
Count
Source
5359
602k
    {
5360
602k
        return {detail::make_arg<
5361
602k
            kind, Context,
5362
602k
            mapped_type_constant<remove_cvref_t<A>,
5363
602k
                                 typename Context::char_type>::value>(args)...};
5364
602k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>::make_argptrs<int>(int&)
Line
Count
Source
5359
819k
    {
5360
819k
        return {detail::make_arg<
5361
819k
            kind, Context,
5362
819k
            mapped_type_constant<remove_cvref_t<A>,
5363
819k
                                 typename Context::char_type>::value>(args)...};
5364
819k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>::make_argptrs<unsigned int>(unsigned int&)
Line
Count
Source
5359
712k
    {
5360
712k
        return {detail::make_arg<
5361
712k
            kind, Context,
5362
712k
            mapped_type_constant<remove_cvref_t<A>,
5363
712k
                                 typename Context::char_type>::value>(args)...};
5364
712k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>::make_argptrs<long long>(long long&)
Line
Count
Source
5359
801k
    {
5360
801k
        return {detail::make_arg<
5361
801k
            kind, Context,
5362
801k
            mapped_type_constant<remove_cvref_t<A>,
5363
801k
                                 typename Context::char_type>::value>(args)...};
5364
801k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>::make_argptrs<unsigned long long>(unsigned long long&)
Line
Count
Source
5359
688k
    {
5360
688k
        return {detail::make_arg<
5361
688k
            kind, Context,
5362
688k
            mapped_type_constant<remove_cvref_t<A>,
5363
688k
                                 typename Context::char_type>::value>(args)...};
5364
688k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>::make_argptrs<signed char>(signed char&)
Line
Count
Source
5359
156k
    {
5360
156k
        return {detail::make_arg<
5361
156k
            kind, Context,
5362
156k
            mapped_type_constant<remove_cvref_t<A>,
5363
156k
                                 typename Context::char_type>::value>(args)...};
5364
156k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>::make_argptrs<unsigned char>(unsigned char&)
Line
Count
Source
5359
156k
    {
5360
156k
        return {detail::make_arg<
5361
156k
            kind, Context,
5362
156k
            mapped_type_constant<remove_cvref_t<A>,
5363
156k
                                 typename Context::char_type>::value>(args)...};
5364
156k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>::make_argptrs<int>(int&)
Line
Count
Source
5359
220k
    {
5360
220k
        return {detail::make_arg<
5361
220k
            kind, Context,
5362
220k
            mapped_type_constant<remove_cvref_t<A>,
5363
220k
                                 typename Context::char_type>::value>(args)...};
5364
220k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>::make_argptrs<unsigned int>(unsigned int&)
Line
Count
Source
5359
220k
    {
5360
220k
        return {detail::make_arg<
5361
220k
            kind, Context,
5362
220k
            mapped_type_constant<remove_cvref_t<A>,
5363
220k
                                 typename Context::char_type>::value>(args)...};
5364
220k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>::make_argptrs<long long>(long long&)
Line
Count
Source
5359
157k
    {
5360
157k
        return {detail::make_arg<
5361
157k
            kind, Context,
5362
157k
            mapped_type_constant<remove_cvref_t<A>,
5363
157k
                                 typename Context::char_type>::value>(args)...};
5364
157k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>::make_argptrs<unsigned long long>(unsigned long long&)
Line
Count
Source
5359
156k
    {
5360
156k
        return {detail::make_arg<
5361
156k
            kind, Context,
5362
156k
            mapped_type_constant<remove_cvref_t<A>,
5363
156k
                                 typename Context::char_type>::value>(args)...};
5364
156k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>::make_argptrs<float>(float&)
Line
Count
Source
5359
1.78M
    {
5360
1.78M
        return {detail::make_arg<
5361
1.78M
            kind, Context,
5362
1.78M
            mapped_type_constant<remove_cvref_t<A>,
5363
1.78M
                                 typename Context::char_type>::value>(args)...};
5364
1.78M
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>::make_argptrs<double>(double&)
Line
Count
Source
5359
1.95M
    {
5360
1.95M
        return {detail::make_arg<
5361
1.95M
            kind, Context,
5362
1.95M
            mapped_type_constant<remove_cvref_t<A>,
5363
1.95M
                                 typename Context::char_type>::value>(args)...};
5364
1.95M
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>::make_argptrs<long double>(long double&)
Line
Count
Source
5359
1.94M
    {
5360
1.94M
        return {detail::make_arg<
5361
1.94M
            kind, Context,
5362
1.94M
            mapped_type_constant<remove_cvref_t<A>,
5363
1.94M
                                 typename Context::char_type>::value>(args)...};
5364
1.94M
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>::make_argptrs<float>(float&)
Line
Count
Source
5359
297k
    {
5360
297k
        return {detail::make_arg<
5361
297k
            kind, Context,
5362
297k
            mapped_type_constant<remove_cvref_t<A>,
5363
297k
                                 typename Context::char_type>::value>(args)...};
5364
297k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>::make_argptrs<double>(double&)
Line
Count
Source
5359
362k
    {
5360
362k
        return {detail::make_arg<
5361
362k
            kind, Context,
5362
362k
            mapped_type_constant<remove_cvref_t<A>,
5363
362k
                                 typename Context::char_type>::value>(args)...};
5364
362k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>::make_argptrs<long double>(long double&)
Line
Count
Source
5359
300k
    {
5360
300k
        return {detail::make_arg<
5361
300k
            kind, Context,
5362
300k
            mapped_type_constant<remove_cvref_t<A>,
5363
300k
                                 typename Context::char_type>::value>(args)...};
5364
300k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5359
313k
    {
5360
313k
        return {detail::make_arg<
5361
313k
            kind, Context,
5362
313k
            mapped_type_constant<remove_cvref_t<A>,
5363
313k
                                 typename Context::char_type>::value>(args)...};
5364
313k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::make_argptrs<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5359
165k
    {
5360
165k
        return {detail::make_arg<
5361
165k
            kind, Context,
5362
165k
            mapped_type_constant<remove_cvref_t<A>,
5363
165k
                                 typename Context::char_type>::value>(args)...};
5364
165k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::make_argptrs<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5359
1.50M
    {
5360
1.50M
        return {detail::make_arg<
5361
1.50M
            kind, Context,
5362
1.50M
            mapped_type_constant<remove_cvref_t<A>,
5363
1.50M
                                 typename Context::char_type>::value>(args)...};
5364
1.50M
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::make_argptrs<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5359
785k
    {
5360
785k
        return {detail::make_arg<
5361
785k
            kind, Context,
5362
785k
            mapped_type_constant<remove_cvref_t<A>,
5363
785k
                                 typename Context::char_type>::value>(args)...};
5364
785k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>::make_argptrs<char>(char&)
Line
Count
Source
5359
31.8k
    {
5360
31.8k
        return {detail::make_arg<
5361
31.8k
            kind, Context,
5362
31.8k
            mapped_type_constant<remove_cvref_t<A>,
5363
31.8k
                                 typename Context::char_type>::value>(args)...};
5364
31.8k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>::make_argptrs<bool>(bool&)
Line
Count
Source
5359
31.8k
    {
5360
31.8k
        return {detail::make_arg<
5361
31.8k
            kind, Context,
5362
31.8k
            mapped_type_constant<remove_cvref_t<A>,
5363
31.8k
                                 typename Context::char_type>::value>(args)...};
5364
31.8k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>::make_argptrs<void*>(void*&)
Line
Count
Source
5359
31.8k
    {
5360
31.8k
        return {detail::make_arg<
5361
31.8k
            kind, Context,
5362
31.8k
            mapped_type_constant<remove_cvref_t<A>,
5363
31.8k
                                 typename Context::char_type>::value>(args)...};
5364
31.8k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::make_argptrs<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> >&)
Line
Count
Source
5359
31.8k
    {
5360
31.8k
        return {detail::make_arg<
5361
31.8k
            kind, Context,
5362
31.8k
            mapped_type_constant<remove_cvref_t<A>,
5363
31.8k
                                 typename Context::char_type>::value>(args)...};
5364
31.8k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>::make_argptrs<wchar_t>(wchar_t&)
Line
Count
Source
5359
63.6k
    {
5360
63.6k
        return {detail::make_arg<
5361
63.6k
            kind, Context,
5362
63.6k
            mapped_type_constant<remove_cvref_t<A>,
5363
63.6k
                                 typename Context::char_type>::value>(args)...};
5364
63.6k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>::make_argptrs<bool>(bool&)
Line
Count
Source
5359
63.6k
    {
5360
63.6k
        return {detail::make_arg<
5361
63.6k
            kind, Context,
5362
63.6k
            mapped_type_constant<remove_cvref_t<A>,
5363
63.6k
                                 typename Context::char_type>::value>(args)...};
5364
63.6k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>::make_argptrs<void*>(void*&)
Line
Count
Source
5359
63.6k
    {
5360
63.6k
        return {detail::make_arg<
5361
63.6k
            kind, Context,
5362
63.6k
            mapped_type_constant<remove_cvref_t<A>,
5363
63.6k
                                 typename Context::char_type>::value>(args)...};
5364
63.6k
    }
std::__1::array<void*, 1ul> scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::make_argptrs<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)
Line
Count
Source
5359
63.6k
    {
5360
63.6k
        return {detail::make_arg<
5361
63.6k
            kind, Context,
5362
63.6k
            mapped_type_constant<remove_cvref_t<A>,
5363
63.6k
                                 typename Context::char_type>::value>(args)...};
5364
63.6k
    }
5365
5366
    scan_arg_store(const scan_arg_store&) = delete;
5367
    scan_arg_store(scan_arg_store&&) = delete;
5368
    scan_arg_store& operator=(const scan_arg_store&) = delete;
5369
    scan_arg_store& operator=(scan_arg_store&&) = delete;
5370
1.91M
    ~scan_arg_store() = default;
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_arg_store()
Line
Count
Source
5370
313k
    ~scan_arg_store() = default;
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_arg_store()
Line
Count
Source
5370
1.50M
    ~scan_arg_store() = default;
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_arg_store()
Line
Count
Source
5370
31.8k
    ~scan_arg_store() = default;
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_arg_store()
Line
Count
Source
5370
63.6k
    ~scan_arg_store() = default;
5371
5372
    std::tuple<Args...>& args()
5373
15.1M
    {
5374
15.1M
        return m_args;
5375
15.1M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>::args()
Line
Count
Source
5373
623k
    {
5374
623k
        return m_args;
5375
623k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>::args()
Line
Count
Source
5373
602k
    {
5374
602k
        return m_args;
5375
602k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>::args()
Line
Count
Source
5373
819k
    {
5374
819k
        return m_args;
5375
819k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>::args()
Line
Count
Source
5373
712k
    {
5374
712k
        return m_args;
5375
712k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>::args()
Line
Count
Source
5373
801k
    {
5374
801k
        return m_args;
5375
801k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>::args()
Line
Count
Source
5373
688k
    {
5374
688k
        return m_args;
5375
688k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>::args()
Line
Count
Source
5373
156k
    {
5374
156k
        return m_args;
5375
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>::args()
Line
Count
Source
5373
156k
    {
5374
156k
        return m_args;
5375
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>::args()
Line
Count
Source
5373
220k
    {
5374
220k
        return m_args;
5375
220k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>::args()
Line
Count
Source
5373
220k
    {
5374
220k
        return m_args;
5375
220k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>::args()
Line
Count
Source
5373
157k
    {
5374
157k
        return m_args;
5375
157k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>::args()
Line
Count
Source
5373
156k
    {
5374
156k
        return m_args;
5375
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>::args()
Line
Count
Source
5373
1.78M
    {
5374
1.78M
        return m_args;
5375
1.78M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>::args()
Line
Count
Source
5373
1.95M
    {
5374
1.95M
        return m_args;
5375
1.95M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>::args()
Line
Count
Source
5373
1.94M
    {
5374
1.94M
        return m_args;
5375
1.94M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>::args()
Line
Count
Source
5373
297k
    {
5374
297k
        return m_args;
5375
297k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>::args()
Line
Count
Source
5373
362k
    {
5374
362k
        return m_args;
5375
362k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>::args()
Line
Count
Source
5373
300k
    {
5374
300k
        return m_args;
5375
300k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::args()
Line
Count
Source
5373
313k
    {
5374
313k
        return m_args;
5375
313k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::args()
Line
Count
Source
5373
165k
    {
5374
165k
        return m_args;
5375
165k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::args()
Line
Count
Source
5373
1.50M
    {
5374
1.50M
        return m_args;
5375
1.50M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::args()
Line
Count
Source
5373
785k
    {
5374
785k
        return m_args;
5375
785k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>::args()
Line
Count
Source
5373
31.8k
    {
5374
31.8k
        return m_args;
5375
31.8k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>::args()
Line
Count
Source
5373
31.8k
    {
5374
31.8k
        return m_args;
5375
31.8k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>::args()
Line
Count
Source
5373
31.8k
    {
5374
31.8k
        return m_args;
5375
31.8k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::args()
Line
Count
Source
5373
31.8k
    {
5374
31.8k
        return m_args;
5375
31.8k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>::args()
Line
Count
Source
5373
63.6k
    {
5374
63.6k
        return m_args;
5375
63.6k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>::args()
Line
Count
Source
5373
63.6k
    {
5374
63.6k
        return m_args;
5375
63.6k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>::args()
Line
Count
Source
5373
63.6k
    {
5374
63.6k
        return m_args;
5375
63.6k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::args()
Line
Count
Source
5373
63.6k
    {
5374
63.6k
        return m_args;
5375
63.6k
    }
5376
5377
    argptrs_type& arg_pointers()
5378
15.1M
    {
5379
15.1M
        return m_argptrs;
5380
15.1M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>::arg_pointers()
Line
Count
Source
5378
623k
    {
5379
623k
        return m_argptrs;
5380
623k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>::arg_pointers()
Line
Count
Source
5378
602k
    {
5379
602k
        return m_argptrs;
5380
602k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>::arg_pointers()
Line
Count
Source
5378
819k
    {
5379
819k
        return m_argptrs;
5380
819k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>::arg_pointers()
Line
Count
Source
5378
712k
    {
5379
712k
        return m_argptrs;
5380
712k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>::arg_pointers()
Line
Count
Source
5378
801k
    {
5379
801k
        return m_argptrs;
5380
801k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>::arg_pointers()
Line
Count
Source
5378
688k
    {
5379
688k
        return m_argptrs;
5380
688k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>::arg_pointers()
Line
Count
Source
5378
156k
    {
5379
156k
        return m_argptrs;
5380
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>::arg_pointers()
Line
Count
Source
5378
156k
    {
5379
156k
        return m_argptrs;
5380
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>::arg_pointers()
Line
Count
Source
5378
220k
    {
5379
220k
        return m_argptrs;
5380
220k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>::arg_pointers()
Line
Count
Source
5378
220k
    {
5379
220k
        return m_argptrs;
5380
220k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>::arg_pointers()
Line
Count
Source
5378
157k
    {
5379
157k
        return m_argptrs;
5380
157k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>::arg_pointers()
Line
Count
Source
5378
156k
    {
5379
156k
        return m_argptrs;
5380
156k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>::arg_pointers()
Line
Count
Source
5378
1.78M
    {
5379
1.78M
        return m_argptrs;
5380
1.78M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>::arg_pointers()
Line
Count
Source
5378
1.95M
    {
5379
1.95M
        return m_argptrs;
5380
1.95M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>::arg_pointers()
Line
Count
Source
5378
1.94M
    {
5379
1.94M
        return m_argptrs;
5380
1.94M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>::arg_pointers()
Line
Count
Source
5378
297k
    {
5379
297k
        return m_argptrs;
5380
297k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>::arg_pointers()
Line
Count
Source
5378
362k
    {
5379
362k
        return m_argptrs;
5380
362k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>::arg_pointers()
Line
Count
Source
5378
300k
    {
5379
300k
        return m_argptrs;
5380
300k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::arg_pointers()
Line
Count
Source
5378
313k
    {
5379
313k
        return m_argptrs;
5380
313k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::arg_pointers()
Line
Count
Source
5378
165k
    {
5379
165k
        return m_argptrs;
5380
165k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::arg_pointers()
Line
Count
Source
5378
1.50M
    {
5379
1.50M
        return m_argptrs;
5380
1.50M
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::arg_pointers()
Line
Count
Source
5378
785k
    {
5379
785k
        return m_argptrs;
5380
785k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>::arg_pointers()
Line
Count
Source
5378
31.8k
    {
5379
31.8k
        return m_argptrs;
5380
31.8k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>::arg_pointers()
Line
Count
Source
5378
31.8k
    {
5379
31.8k
        return m_argptrs;
5380
31.8k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>::arg_pointers()
Line
Count
Source
5378
31.8k
    {
5379
31.8k
        return m_argptrs;
5380
31.8k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::arg_pointers()
Line
Count
Source
5378
31.8k
    {
5379
31.8k
        return m_argptrs;
5380
31.8k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>::arg_pointers()
Line
Count
Source
5378
63.6k
    {
5379
63.6k
        return m_argptrs;
5380
63.6k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>::arg_pointers()
Line
Count
Source
5378
63.6k
    {
5379
63.6k
        return m_argptrs;
5380
63.6k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>::arg_pointers()
Line
Count
Source
5378
63.6k
    {
5379
63.6k
        return m_argptrs;
5380
63.6k
    }
scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::arg_pointers()
Line
Count
Source
5378
63.6k
    {
5379
63.6k
        return m_argptrs;
5380
63.6k
    }
5381
5382
private:
5383
    std::tuple<Args...> m_args;
5384
    argptrs_type m_argptrs;
5385
};
5386
5387
}  // namespace detail
5388
5389
/**
5390
 * Constructs a `scan_arg_store` object, associated with `Context`,
5391
 * that contains value-initialized values of types `Args...`.
5392
 */
5393
template <typename Context = scan_context, typename... Args>
5394
constexpr auto make_scan_args()
5395
15.1M
{
5396
15.1M
    detail::check_scan_arg_types<Args...>();
5397
15.1M
    return detail::scan_arg_store<Context, Args...>{};
5398
15.1M
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, signed char>()
Line
Count
Source
5395
623k
{
5396
623k
    detail::check_scan_arg_types<Args...>();
5397
623k
    return detail::scan_arg_store<Context, Args...>{};
5398
623k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, unsigned char>()
Line
Count
Source
5395
602k
{
5396
602k
    detail::check_scan_arg_types<Args...>();
5397
602k
    return detail::scan_arg_store<Context, Args...>{};
5398
602k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, int>()
Line
Count
Source
5395
819k
{
5396
819k
    detail::check_scan_arg_types<Args...>();
5397
819k
    return detail::scan_arg_store<Context, Args...>{};
5398
819k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, unsigned int>()
Line
Count
Source
5395
712k
{
5396
712k
    detail::check_scan_arg_types<Args...>();
5397
712k
    return detail::scan_arg_store<Context, Args...>{};
5398
712k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, long long>()
Line
Count
Source
5395
801k
{
5396
801k
    detail::check_scan_arg_types<Args...>();
5397
801k
    return detail::scan_arg_store<Context, Args...>{};
5398
801k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, unsigned long long>()
Line
Count
Source
5395
688k
{
5396
688k
    detail::check_scan_arg_types<Args...>();
5397
688k
    return detail::scan_arg_store<Context, Args...>{};
5398
688k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, signed char>()
Line
Count
Source
5395
156k
{
5396
156k
    detail::check_scan_arg_types<Args...>();
5397
156k
    return detail::scan_arg_store<Context, Args...>{};
5398
156k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, unsigned char>()
Line
Count
Source
5395
156k
{
5396
156k
    detail::check_scan_arg_types<Args...>();
5397
156k
    return detail::scan_arg_store<Context, Args...>{};
5398
156k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, int>()
Line
Count
Source
5395
220k
{
5396
220k
    detail::check_scan_arg_types<Args...>();
5397
220k
    return detail::scan_arg_store<Context, Args...>{};
5398
220k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, unsigned int>()
Line
Count
Source
5395
220k
{
5396
220k
    detail::check_scan_arg_types<Args...>();
5397
220k
    return detail::scan_arg_store<Context, Args...>{};
5398
220k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, long long>()
Line
Count
Source
5395
157k
{
5396
157k
    detail::check_scan_arg_types<Args...>();
5397
157k
    return detail::scan_arg_store<Context, Args...>{};
5398
157k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, unsigned long long>()
Line
Count
Source
5395
156k
{
5396
156k
    detail::check_scan_arg_types<Args...>();
5397
156k
    return detail::scan_arg_store<Context, Args...>{};
5398
156k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, float>()
Line
Count
Source
5395
1.78M
{
5396
1.78M
    detail::check_scan_arg_types<Args...>();
5397
1.78M
    return detail::scan_arg_store<Context, Args...>{};
5398
1.78M
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, double>()
Line
Count
Source
5395
1.95M
{
5396
1.95M
    detail::check_scan_arg_types<Args...>();
5397
1.95M
    return detail::scan_arg_store<Context, Args...>{};
5398
1.95M
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, long double>()
Line
Count
Source
5395
1.94M
{
5396
1.94M
    detail::check_scan_arg_types<Args...>();
5397
1.94M
    return detail::scan_arg_store<Context, Args...>{};
5398
1.94M
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, float>()
Line
Count
Source
5395
297k
{
5396
297k
    detail::check_scan_arg_types<Args...>();
5397
297k
    return detail::scan_arg_store<Context, Args...>{};
5398
297k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, double>()
Line
Count
Source
5395
362k
{
5396
362k
    detail::check_scan_arg_types<Args...>();
5397
362k
    return detail::scan_arg_store<Context, Args...>{};
5398
362k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, long double>()
Line
Count
Source
5395
300k
{
5396
300k
    detail::check_scan_arg_types<Args...>();
5397
300k
    return detail::scan_arg_store<Context, Args...>{};
5398
300k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Line
Count
Source
5395
313k
{
5396
313k
    detail::check_scan_arg_types<Args...>();
5397
313k
    return detail::scan_arg_store<Context, Args...>{};
5398
313k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >()
Line
Count
Source
5395
165k
{
5396
165k
    detail::check_scan_arg_types<Args...>();
5397
165k
    return detail::scan_arg_store<Context, Args...>{};
5398
165k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Line
Count
Source
5395
1.50M
{
5396
1.50M
    detail::check_scan_arg_types<Args...>();
5397
1.50M
    return detail::scan_arg_store<Context, Args...>{};
5398
1.50M
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >()
Line
Count
Source
5395
785k
{
5396
785k
    detail::check_scan_arg_types<Args...>();
5397
785k
    return detail::scan_arg_store<Context, Args...>{};
5398
785k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, char>()
Line
Count
Source
5395
31.8k
{
5396
31.8k
    detail::check_scan_arg_types<Args...>();
5397
31.8k
    return detail::scan_arg_store<Context, Args...>{};
5398
31.8k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, bool>()
Line
Count
Source
5395
31.8k
{
5396
31.8k
    detail::check_scan_arg_types<Args...>();
5397
31.8k
    return detail::scan_arg_store<Context, Args...>{};
5398
31.8k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, void*>()
Line
Count
Source
5395
31.8k
{
5396
31.8k
    detail::check_scan_arg_types<Args...>();
5397
31.8k
    return detail::scan_arg_store<Context, Args...>{};
5398
31.8k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >()
Line
Count
Source
5395
31.8k
{
5396
31.8k
    detail::check_scan_arg_types<Args...>();
5397
31.8k
    return detail::scan_arg_store<Context, Args...>{};
5398
31.8k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, wchar_t>()
Line
Count
Source
5395
63.6k
{
5396
63.6k
    detail::check_scan_arg_types<Args...>();
5397
63.6k
    return detail::scan_arg_store<Context, Args...>{};
5398
63.6k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, bool>()
Line
Count
Source
5395
63.6k
{
5396
63.6k
    detail::check_scan_arg_types<Args...>();
5397
63.6k
    return detail::scan_arg_store<Context, Args...>{};
5398
63.6k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, void*>()
Line
Count
Source
5395
63.6k
{
5396
63.6k
    detail::check_scan_arg_types<Args...>();
5397
63.6k
    return detail::scan_arg_store<Context, Args...>{};
5398
63.6k
}
auto scn::v3::make_scan_args<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >()
Line
Count
Source
5395
63.6k
{
5396
63.6k
    detail::check_scan_arg_types<Args...>();
5397
63.6k
    return detail::scan_arg_store<Context, Args...>{};
5398
63.6k
}
5399
/**
5400
 * Constructs a `scan_arg_store` object, associated with `Context`,
5401
 * that contains `values`.
5402
 */
5403
template <typename Context = scan_context, typename... Args>
5404
constexpr auto make_scan_args(std::tuple<Args...>&& values)
5405
{
5406
    detail::check_scan_arg_types<Args...>();
5407
    return detail::scan_arg_store<Context, Args...>{SCN_MOVE(values)};
5408
}
5409
5410
/**
5411
 * A view over a collection of scanning arguments (`scan_arg_store`).
5412
 *
5413
 * Passed to `scn::vscan`, where it's automatically constructed from a
5414
 * `scan_arg_store`.
5415
 */
5416
template <typename Context>
5417
class basic_scan_args {
5418
public:
5419
1.67M
    constexpr basic_scan_args() = default;
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args()
Line
Count
Source
5419
1.02M
    constexpr basic_scan_args() = default;
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args()
Line
Count
Source
5419
654k
    constexpr basic_scan_args() = default;
5420
5421
    template <typename... Args>
5422
    SCN_IMPLICIT constexpr basic_scan_args(
5423
        detail::scan_arg_store<Context, Args...>& store)
5424
        : basic_scan_args(store.desc, store.arg_pointers().data())
5425
15.1M
    {
5426
15.1M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<signed char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, signed char>&)
Line
Count
Source
5425
623k
    {
5426
623k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<unsigned char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned char>&)
Line
Count
Source
5425
602k
    {
5426
602k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<int>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, int>&)
Line
Count
Source
5425
819k
    {
5426
819k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<unsigned int>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned int>&)
Line
Count
Source
5425
712k
    {
5426
712k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<long long>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long long>&)
Line
Count
Source
5425
801k
    {
5426
801k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<unsigned long long>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, unsigned long long>&)
Line
Count
Source
5425
688k
    {
5426
688k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<signed char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, signed char>&)
Line
Count
Source
5425
156k
    {
5426
156k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<unsigned char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned char>&)
Line
Count
Source
5425
156k
    {
5426
156k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<int>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, int>&)
Line
Count
Source
5425
220k
    {
5426
220k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<unsigned int>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned int>&)
Line
Count
Source
5425
220k
    {
5426
220k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<long long>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long long>&)
Line
Count
Source
5425
157k
    {
5426
157k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<unsigned long long>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, unsigned long long>&)
Line
Count
Source
5425
156k
    {
5426
156k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<float>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, float>&)
Line
Count
Source
5425
1.78M
    {
5426
1.78M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<double>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, double>&)
Line
Count
Source
5425
1.95M
    {
5426
1.95M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<long double>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, long double>&)
Line
Count
Source
5425
1.94M
    {
5426
1.94M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<float>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, float>&)
Line
Count
Source
5425
297k
    {
5426
297k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<double>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, double>&)
Line
Count
Source
5425
362k
    {
5426
362k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<long double>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, long double>&)
Line
Count
Source
5425
300k
    {
5426
300k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Line
Count
Source
5425
313k
    {
5426
313k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >&)
Line
Count
Source
5425
165k
    {
5426
165k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&)
Line
Count
Source
5425
1.50M
    {
5426
1.50M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&)
Line
Count
Source
5425
785k
    {
5426
785k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<char>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, char>&)
Line
Count
Source
5425
31.8k
    {
5426
31.8k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<bool>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, bool>&)
Line
Count
Source
5425
31.8k
    {
5426
31.8k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<void*>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, void*>&)
Line
Count
Source
5425
31.8k
    {
5426
31.8k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<char>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&)
Line
Count
Source
5425
31.8k
    {
5426
31.8k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<wchar_t>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, wchar_t>&)
Line
Count
Source
5425
63.6k
    {
5426
63.6k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<bool>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, bool>&)
Line
Count
Source
5425
63.6k
    {
5426
63.6k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<void*>(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, void*>&)
Line
Count
Source
5425
63.6k
    {
5426
63.6k
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::detail::scan_arg_store<scn::v3::basic_scan_context<wchar_t>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&)
Line
Count
Source
5425
63.6k
    {
5426
63.6k
    }
5427
5428
    /**
5429
     * \return `basic_scan_arg` at index `id`. Empty `basic_scan_arg` if
5430
     * there's no argument at index `id`.
5431
     */
5432
    SCN_NODISCARD constexpr basic_scan_arg<Context> get(std::size_t id) const
5433
14.5M
    {
5434
14.5M
        if (SCN_UNLIKELY(!is_packed())) {
5435
0
            if (SCN_LIKELY(id < max_size())) {
5436
0
                return m_args[id];
5437
0
            }
5438
0
            return {};
5439
0
        }
5440
5441
14.5M
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
5442
160
            return {};
5443
160
        }
5444
5445
14.5M
        const auto t = type(id);
5446
14.5M
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
5447
3.23k
            return {};
5448
3.23k
        }
5449
5450
14.5M
        basic_scan_arg<Context> arg;
5451
14.5M
        arg.m_type = t;
5452
14.5M
        if (is_only_builtin()) {
5453
14.5M
            arg.m_value.ref_value = m_builtin_values[id];
5454
14.5M
        }
5455
0
        else {
5456
0
            arg.m_value = m_values[id];
5457
0
        }
5458
14.5M
        return arg;
5459
14.5M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::get(unsigned long) const
Line
Count
Source
5433
10.4M
    {
5434
10.4M
        if (SCN_UNLIKELY(!is_packed())) {
5435
0
            if (SCN_LIKELY(id < max_size())) {
5436
0
                return m_args[id];
5437
0
            }
5438
0
            return {};
5439
0
        }
5440
5441
10.4M
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
5442
68
            return {};
5443
68
        }
5444
5445
10.4M
        const auto t = type(id);
5446
10.4M
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
5447
1.61k
            return {};
5448
1.61k
        }
5449
5450
10.4M
        basic_scan_arg<Context> arg;
5451
10.4M
        arg.m_type = t;
5452
10.4M
        if (is_only_builtin()) {
5453
10.4M
            arg.m_value.ref_value = m_builtin_values[id];
5454
10.4M
        }
5455
0
        else {
5456
0
            arg.m_value = m_values[id];
5457
0
        }
5458
10.4M
        return arg;
5459
10.4M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::get(unsigned long) const
Line
Count
Source
5433
4.11M
    {
5434
4.11M
        if (SCN_UNLIKELY(!is_packed())) {
5435
0
            if (SCN_LIKELY(id < max_size())) {
5436
0
                return m_args[id];
5437
0
            }
5438
0
            return {};
5439
0
        }
5440
5441
4.11M
        if (SCN_UNLIKELY(id >= detail::max_packed_args)) {
5442
92
            return {};
5443
92
        }
5444
5445
4.11M
        const auto t = type(id);
5446
4.11M
        if (SCN_UNLIKELY(t == detail::arg_type::none_type)) {
5447
1.61k
            return {};
5448
1.61k
        }
5449
5450
4.11M
        basic_scan_arg<Context> arg;
5451
4.11M
        arg.m_type = t;
5452
4.11M
        if (is_only_builtin()) {
5453
4.11M
            arg.m_value.ref_value = m_builtin_values[id];
5454
4.11M
        }
5455
0
        else {
5456
0
            arg.m_value = m_values[id];
5457
0
        }
5458
4.11M
        return arg;
5459
4.11M
    }
5460
5461
    /**
5462
     * \return Number of arguments in `*this`.
5463
     */
5464
    SCN_NODISCARD constexpr std::size_t size() const
5465
15.1M
    {
5466
15.1M
        if (SCN_UNLIKELY(!is_packed())) {
5467
0
            return max_size();
5468
0
        }
5469
5470
15.1M
        return static_cast<std::size_t>(m_desc &
5471
15.1M
                                        ((1 << detail::packed_arg_bits) - 1));
5472
15.1M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::size() const
Line
Count
Source
5465
10.5M
    {
5466
10.5M
        if (SCN_UNLIKELY(!is_packed())) {
5467
0
            return max_size();
5468
0
        }
5469
5470
10.5M
        return static_cast<std::size_t>(m_desc &
5471
10.5M
                                        ((1 << detail::packed_arg_bits) - 1));
5472
10.5M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::size() const
Line
Count
Source
5465
4.57M
    {
5466
4.57M
        if (SCN_UNLIKELY(!is_packed())) {
5467
0
            return max_size();
5468
0
        }
5469
5470
4.57M
        return static_cast<std::size_t>(m_desc &
5471
4.57M
                                        ((1 << detail::packed_arg_bits) - 1));
5472
4.57M
    }
5473
5474
private:
5475
    constexpr explicit basic_scan_args(size_t desc, void** data)
5476
        : m_desc(desc), m_builtin_values(data)
5477
15.1M
    {
5478
15.1M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::basic_scan_args(unsigned long, void**)
Line
Count
Source
5477
10.5M
    {
5478
10.5M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::basic_scan_args(unsigned long, void**)
Line
Count
Source
5477
4.57M
    {
5478
4.57M
    }
5479
    constexpr explicit basic_scan_args(size_t desc, detail::arg_value* data)
5480
        : m_desc(desc), m_values(data)
5481
    {
5482
    }
5483
    constexpr explicit basic_scan_args(size_t desc,
5484
                                       basic_scan_arg<Context>* data)
5485
        : m_desc(desc), m_args(data)
5486
    {
5487
    }
5488
5489
    SCN_NODISCARD constexpr bool is_packed() const
5490
29.6M
    {
5491
29.6M
        return (m_desc & detail::is_unpacked_bit) == 0;
5492
29.6M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::is_packed() const
Line
Count
Source
5490
20.9M
    {
5491
20.9M
        return (m_desc & detail::is_unpacked_bit) == 0;
5492
20.9M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::is_packed() const
Line
Count
Source
5490
8.68M
    {
5491
8.68M
        return (m_desc & detail::is_unpacked_bit) == 0;
5492
8.68M
    }
5493
    SCN_NODISCARD constexpr bool is_only_builtin() const
5494
14.5M
    {
5495
14.5M
        return (m_desc & detail::has_custom_types_bit) == 0;
5496
14.5M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::is_only_builtin() const
Line
Count
Source
5494
10.4M
    {
5495
10.4M
        return (m_desc & detail::has_custom_types_bit) == 0;
5496
10.4M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::is_only_builtin() const
Line
Count
Source
5494
4.11M
    {
5495
4.11M
        return (m_desc & detail::has_custom_types_bit) == 0;
5496
4.11M
    }
5497
5498
    SCN_NODISCARD constexpr detail::arg_type type(std::size_t index) const
5499
14.5M
    {
5500
        // First (0th) index is size, types start after that
5501
14.5M
        const auto shift = (index + 1) * detail::packed_arg_bits;
5502
14.5M
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
5503
14.5M
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
5504
14.5M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::type(unsigned long) const
Line
Count
Source
5499
10.4M
    {
5500
        // First (0th) index is size, types start after that
5501
10.4M
        const auto shift = (index + 1) * detail::packed_arg_bits;
5502
10.4M
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
5503
10.4M
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
5504
10.4M
    }
scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::type(unsigned long) const
Line
Count
Source
5499
4.11M
    {
5500
        // First (0th) index is size, types start after that
5501
4.11M
        const auto shift = (index + 1) * detail::packed_arg_bits;
5502
4.11M
        const std::size_t mask = (1 << detail::packed_arg_bits) - 1;
5503
4.11M
        return static_cast<detail::arg_type>((m_desc >> shift) & mask);
5504
4.11M
    }
5505
5506
    SCN_NODISCARD constexpr std::size_t max_size() const
5507
0
    {
5508
0
        return SCN_LIKELY(is_packed()) ? detail::max_packed_args
5509
0
                                       : (m_desc & ~detail::is_unpacked_bit &
5510
0
                                          ~detail::has_custom_types_bit);
5511
0
    }
Unexecuted instantiation: scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >::max_size() const
Unexecuted instantiation: scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >::max_size() const
5512
5513
    size_t m_desc{0};
5514
    union {
5515
        void** m_builtin_values;
5516
        detail::arg_value* m_values;
5517
        basic_scan_arg<Context>* m_args{nullptr};
5518
    };
5519
};
5520
5521
/////////////////////////////////////////////////////////////////
5522
// scan_parse_context
5523
/////////////////////////////////////////////////////////////////
5524
5525
/**
5526
 * Format string parsing context, wrapping the format string being parsed,
5527
 * and a counter for argument indexing.
5528
 *
5529
 * \ingroup ctx
5530
 */
5531
template <typename CharT>
5532
class basic_scan_parse_context {
5533
public:
5534
    using char_type = CharT;
5535
    using iterator = typename std::basic_string_view<CharT>::const_pointer;
5536
5537
    /**
5538
     * Construct a `basic_scan_parse_context` over a format string `format`.
5539
     */
5540
    explicit constexpr basic_scan_parse_context(
5541
        std::basic_string_view<CharT> format,
5542
        int next_arg_id = 0)
5543
        : m_format{format}, m_next_arg_id{next_arg_id}
5544
11.7M
    {
5545
11.7M
    }
scn::v3::basic_scan_parse_context<char>::basic_scan_parse_context(std::__1::basic_string_view<char, std::__1::char_traits<char> >, int)
Line
Count
Source
5544
8.48M
    {
5545
8.48M
    }
scn::v3::basic_scan_parse_context<wchar_t>::basic_scan_parse_context(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, int)
Line
Count
Source
5544
3.26M
    {
5545
3.26M
    }
5546
5547
    /// Returns an iterator pointing to the beginning of the format string
5548
    constexpr auto begin() const noexcept
5549
21.8M
    {
5550
21.8M
        return m_format.data();
5551
21.8M
    }
scn::v3::basic_scan_parse_context<char>::begin() const
Line
Count
Source
5549
16.5M
    {
5550
16.5M
        return m_format.data();
5551
16.5M
    }
scn::v3::basic_scan_parse_context<wchar_t>::begin() const
Line
Count
Source
5549
5.28M
    {
5550
5.28M
        return m_format.data();
5551
5.28M
    }
5552
    /// Returns an iterator pointing to the end of the format string
5553
    constexpr auto end() const noexcept
5554
    {
5555
        return m_format.data() + m_format.size();
5556
    }
5557
5558
    /// Advance the beginning of the format string to `it`
5559
    constexpr void advance_to(iterator it)
5560
10.6M
    {
5561
10.6M
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
5562
10.6M
    }
scn::v3::basic_scan_parse_context<char>::advance_to(char const*)
Line
Count
Source
5560
8.20M
    {
5561
8.20M
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
5562
8.20M
    }
scn::v3::basic_scan_parse_context<wchar_t>::advance_to(wchar_t const*)
Line
Count
Source
5560
2.48M
    {
5561
2.48M
        m_format.remove_prefix(static_cast<std::size_t>(it - begin()));
5562
2.48M
    }
5563
5564
    constexpr size_t next_arg_id()
5565
11.1M
    {
5566
11.1M
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
5567
90
            on_error(
5568
90
                "Cannot switch from manual to automatic argument indexing");
5569
90
            return 0;
5570
90
        }
5571
5572
11.1M
        auto id = static_cast<size_t>(m_next_arg_id++);
5573
11.1M
        do_check_arg_id(id);
5574
11.1M
        return id;
5575
11.1M
    }
scn::v3::basic_scan_parse_context<char>::next_arg_id()
Line
Count
Source
5565
8.36M
    {
5566
8.36M
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
5567
42
            on_error(
5568
42
                "Cannot switch from manual to automatic argument indexing");
5569
42
            return 0;
5570
42
        }
5571
5572
8.36M
        auto id = static_cast<size_t>(m_next_arg_id++);
5573
8.36M
        do_check_arg_id(id);
5574
8.36M
        return id;
5575
8.36M
    }
scn::v3::basic_scan_parse_context<wchar_t>::next_arg_id()
Line
Count
Source
5565
2.80M
    {
5566
2.80M
        if (SCN_UNLIKELY(m_next_arg_id < 0)) {
5567
48
            on_error(
5568
48
                "Cannot switch from manual to automatic argument indexing");
5569
48
            return 0;
5570
48
        }
5571
5572
2.80M
        auto id = static_cast<size_t>(m_next_arg_id++);
5573
2.80M
        do_check_arg_id(id);
5574
2.80M
        return id;
5575
2.80M
    }
5576
5577
    constexpr void check_arg_id(std::size_t id)
5578
11.7k
    {
5579
11.7k
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
5580
208
            on_error(
5581
208
                "Cannot switch from manual to automatic argument indexing");
5582
208
            return;
5583
208
        }
5584
11.5k
        m_next_arg_id = -1;
5585
11.5k
        do_check_arg_id(id);
5586
11.5k
    }
scn::v3::basic_scan_parse_context<char>::check_arg_id(unsigned long)
Line
Count
Source
5578
11.3k
    {
5579
11.3k
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
5580
80
            on_error(
5581
80
                "Cannot switch from manual to automatic argument indexing");
5582
80
            return;
5583
80
        }
5584
11.3k
        m_next_arg_id = -1;
5585
11.3k
        do_check_arg_id(id);
5586
11.3k
    }
scn::v3::basic_scan_parse_context<wchar_t>::check_arg_id(unsigned long)
Line
Count
Source
5578
362
    {
5579
362
        if (SCN_UNLIKELY(m_next_arg_id > 0)) {
5580
128
            on_error(
5581
128
                "Cannot switch from manual to automatic argument indexing");
5582
128
            return;
5583
128
        }
5584
234
        m_next_arg_id = -1;
5585
234
        do_check_arg_id(id);
5586
234
    }
5587
5588
    constexpr scan_error on_error(const char* msg) const
5589
298
    {
5590
298
        return detail::handle_error(
5591
298
            scan_error{scan_error::invalid_format_string, msg});
5592
298
    }
scn::v3::basic_scan_parse_context<char>::on_error(char const*) const
Line
Count
Source
5589
122
    {
5590
122
        return detail::handle_error(
5591
122
            scan_error{scan_error::invalid_format_string, msg});
5592
122
    }
scn::v3::basic_scan_parse_context<wchar_t>::on_error(char const*) const
Line
Count
Source
5589
176
    {
5590
176
        return detail::handle_error(
5591
176
            scan_error{scan_error::invalid_format_string, msg});
5592
176
    }
5593
5594
protected:
5595
    constexpr void do_check_arg_id(size_t id);
5596
5597
    std::basic_string_view<CharT> m_format;
5598
    int m_next_arg_id{0};
5599
};
5600
5601
/////////////////////////////////////////////////////////////////
5602
// Result types
5603
/////////////////////////////////////////////////////////////////
5604
5605
namespace detail {
5606
template <typename... Args>
5607
struct scan_result_value_storage {
5608
public:
5609
    using tuple_type = std::tuple<Args...>;
5610
5611
    constexpr scan_result_value_storage() = default;
5612
5613
    constexpr scan_result_value_storage(tuple_type&& values)
5614
        : m_values(SCN_MOVE(values))
5615
13.3M
    {
5616
13.3M
    }
scn::v3::detail::scan_result_value_storage<signed char>::scan_result_value_storage(std::__1::tuple<signed char>&&)
Line
Count
Source
5615
595k
    {
5616
595k
    }
scn::v3::detail::scan_result_value_storage<unsigned char>::scan_result_value_storage(std::__1::tuple<unsigned char>&&)
Line
Count
Source
5615
568k
    {
5616
568k
    }
scn::v3::detail::scan_result_value_storage<int>::scan_result_value_storage(std::__1::tuple<int>&&)
Line
Count
Source
5615
767k
    {
5616
767k
    }
scn::v3::detail::scan_result_value_storage<unsigned int>::scan_result_value_storage(std::__1::tuple<unsigned int>&&)
Line
Count
Source
5615
652k
    {
5616
652k
    }
scn::v3::detail::scan_result_value_storage<long long>::scan_result_value_storage(std::__1::tuple<long long>&&)
Line
Count
Source
5615
783k
    {
5616
783k
    }
scn::v3::detail::scan_result_value_storage<unsigned long long>::scan_result_value_storage(std::__1::tuple<unsigned long long>&&)
Line
Count
Source
5615
660k
    {
5616
660k
    }
scn::v3::detail::scan_result_value_storage<float>::scan_result_value_storage(std::__1::tuple<float>&&)
Line
Count
Source
5615
1.96M
    {
5616
1.96M
    }
scn::v3::detail::scan_result_value_storage<double>::scan_result_value_storage(std::__1::tuple<double>&&)
Line
Count
Source
5615
2.12M
    {
5616
2.12M
    }
scn::v3::detail::scan_result_value_storage<long double>::scan_result_value_storage(std::__1::tuple<long double>&&)
Line
Count
Source
5615
2.15M
    {
5616
2.15M
    }
scn::v3::detail::scan_result_value_storage<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result_value_storage(std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5615
319k
    {
5616
319k
    }
scn::v3::detail::scan_result_value_storage<std::__1::basic_string_view<char, std::__1::char_traits<char> > >::scan_result_value_storage(std::__1::tuple<std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Line
Count
Source
5615
151k
    {
5616
151k
    }
scn::v3::detail::scan_result_value_storage<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result_value_storage(std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5615
1.73M
    {
5616
1.73M
    }
scn::v3::detail::scan_result_value_storage<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::scan_result_value_storage(std::__1::tuple<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Line
Count
Source
5615
868k
    {
5616
868k
    }
scn::v3::detail::scan_result_value_storage<char>::scan_result_value_storage(std::__1::tuple<char>&&)
Line
Count
Source
5615
222
    {
5616
222
    }
Unexecuted instantiation: scn::v3::detail::scan_result_value_storage<bool>::scan_result_value_storage(std::__1::tuple<bool>&&)
Unexecuted instantiation: scn::v3::detail::scan_result_value_storage<void*>::scan_result_value_storage(std::__1::tuple<void*>&&)
scn::v3::detail::scan_result_value_storage<wchar_t>::scan_result_value_storage(std::__1::tuple<wchar_t>&&)
Line
Count
Source
5615
112
    {
5616
112
    }
5617
5618
    /// Access the scanned values
5619
    tuple_type& values() &
5620
    {
5621
        return m_values;
5622
    }
5623
    /// Access the scanned values
5624
    const tuple_type& values() const&
5625
    {
5626
        return m_values;
5627
    }
5628
    /// Access the scanned values
5629
    tuple_type&& values() &&
5630
    {
5631
        return SCN_MOVE(m_values);
5632
    }
5633
    /// Access the scanned values
5634
    const tuple_type&& values() const&&
5635
    {
5636
        return SCN_MOVE(m_values);
5637
    }
5638
5639
    /// Access the single scanned value
5640
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
5641
    decltype(auto) value() &
5642
    {
5643
        return std::get<0>(m_values);
5644
    }
5645
    /// Access the single scanned value
5646
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
5647
    decltype(auto) value() const&
5648
    {
5649
        return std::get<0>(m_values);
5650
    }
5651
    /// Access the single scanned value
5652
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
5653
    decltype(auto) value() &&
5654
    {
5655
        return SCN_MOVE(std::get<0>(m_values));
5656
    }
5657
    /// Access the single scanned value
5658
    template <size_t N = sizeof...(Args), std::enable_if_t<N == 1>* = nullptr>
5659
    decltype(auto) value() const&&
5660
    {
5661
        return SCN_MOVE(std::get<0>(m_values));
5662
    }
5663
5664
private:
5665
    SCN_NO_UNIQUE_ADDRESS tuple_type m_values{};
5666
};
5667
5668
struct scan_result_convert_tag {};
5669
5670
template <typename Range>
5671
struct scan_result_range_storage {
5672
public:
5673
    using range_type = Range;
5674
    using iterator = ranges::iterator_t<Range>;
5675
    using sentinel = ranges::sentinel_t<Range>;
5676
5677
    constexpr scan_result_range_storage() = default;
5678
5679
    constexpr scan_result_range_storage(range_type&& r) : m_range(SCN_MOVE(r))
5680
13.3M
    {
5681
13.3M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::scan_result_range_storage(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&&)
Line
Count
Source
5680
5.19M
    {
5681
5.19M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::scan_result_range_storage(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&&)
Line
Count
Source
5680
5.22M
    {
5681
5.22M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::scan_result_range_storage(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&&)
Line
Count
Source
5680
1.90M
    {
5681
1.90M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::scan_result_range_storage(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&&)
Line
Count
Source
5680
1.03M
    {
5681
1.03M
    }
5682
5683
    template <typename R>
5684
    explicit constexpr scan_result_range_storage(scan_result_convert_tag, R&& r)
5685
        : m_range(SCN_MOVE(r))
5686
    {
5687
    }
5688
5689
    /// Access the ununsed source range
5690
    range_type range() const
5691
    {
5692
        return m_range;
5693
    }
5694
5695
    /// The beginning of the unused source range
5696
    auto begin() const
5697
13.3M
    {
5698
13.3M
        return ranges::begin(m_range);
5699
13.3M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::begin() const
Line
Count
Source
5697
5.18M
    {
5698
5.18M
        return ranges::begin(m_range);
5699
5.18M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::begin() const
Line
Count
Source
5697
5.22M
    {
5698
5.22M
        return ranges::begin(m_range);
5699
5.22M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::begin() const
Line
Count
Source
5697
1.90M
    {
5698
1.90M
        return ranges::begin(m_range);
5699
1.90M
    }
scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::begin() const
Line
Count
Source
5697
1.03M
    {
5698
1.03M
        return ranges::begin(m_range);
5699
1.03M
    }
5700
    /// The end of the unused source range
5701
    auto end() const
5702
0
    {
5703
0
        return ranges::end(m_range);
5704
0
    }
Unexecuted instantiation: scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >::end() const
Unexecuted instantiation: scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >::end() const
Unexecuted instantiation: scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >::end() const
Unexecuted instantiation: scn::v3::detail::scan_result_range_storage<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >::end() const
5705
5706
protected:
5707
    template <typename Other>
5708
    void assign_range(Other&& r)
5709
    {
5710
        m_range = r.m_range;
5711
    }
5712
5713
private:
5714
    SCN_NO_UNIQUE_ADDRESS range_type m_range{};
5715
};
5716
5717
struct scan_result_file_storage {
5718
public:
5719
    using range_type = std::FILE*;
5720
5721
    constexpr scan_result_file_storage() = default;
5722
5723
0
    constexpr scan_result_file_storage(std::FILE* f) : m_file(f) {}
5724
5725
    /// File used for scanning
5726
    std::FILE* file() const
5727
0
    {
5728
0
        return m_file;
5729
0
    }
5730
5731
protected:
5732
    void assign_range(const scan_result_file_storage& f)
5733
0
    {
5734
0
        m_file = f.m_file;
5735
0
    }
5736
5737
private:
5738
    std::FILE* m_file{nullptr};
5739
};
5740
5741
struct scan_result_dangling {
5742
    using range_type = ranges::dangling;
5743
5744
    constexpr scan_result_dangling() = default;
5745
5746
    template <typename... Args>
5747
    explicit constexpr scan_result_dangling(Args&&...)
5748
    {
5749
    }
5750
5751
    range_type range() const
5752
0
    {
5753
0
        return {};
5754
0
    }
5755
5756
    ranges::dangling begin() const
5757
0
    {
5758
0
        return {};
5759
0
    }
5760
    ranges::dangling end() const
5761
0
    {
5762
0
        return {};
5763
0
    }
5764
5765
protected:
5766
    template <typename... Args>
5767
    void assign_range(Args&&...)
5768
    {
5769
    }
5770
};
5771
5772
template <typename Range>
5773
constexpr auto get_scan_result_base()
5774
0
{
5775
0
    if constexpr (std::is_same_v<remove_cvref_t<Range>, ranges::dangling>) {
5776
0
        return type_identity<scan_result_dangling>{};
5777
0
    }
5778
0
    else if constexpr (std::is_same_v<remove_cvref_t<Range>, std::FILE*>) {
5779
0
        return type_identity<scan_result_file_storage>{};
5780
0
    }
5781
0
    else {
5782
0
        return type_identity<scan_result_range_storage<Range>>{};
5783
0
    }
5784
0
}
Unexecuted instantiation: auto scn::v3::detail::get_scan_result_base<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >()
Unexecuted instantiation: auto scn::v3::detail::get_scan_result_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >()
Unexecuted instantiation: auto scn::v3::detail::get_scan_result_base<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >()
Unexecuted instantiation: auto scn::v3::detail::get_scan_result_base<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >()
5785
5786
#if !SCN_DOXYGEN
5787
template <typename Range>
5788
using scan_result_base = typename decltype(get_scan_result_base<Range>())::type;
5789
#else
5790
template <typename Range>
5791
using scan_result_base = scan_result_range_storage<Range>;
5792
#endif
5793
}  // namespace detail
5794
5795
/**
5796
 * \defgroup result Result types
5797
 *
5798
 * \brief Result and error types
5799
 *
5800
 * Instead of using exceptions, `scn::scan` and others return an object of
5801
 * type `scn::scan_result`, wrapped inside a `scn::scan_expected`.
5802
 */
5803
5804
/**
5805
 * Type returned by `scan`, contains the unused input as a subrange, and the
5806
 * scanned values in a tuple.
5807
 */
5808
template <typename Range, typename... Args>
5809
class scan_result : public detail::scan_result_base<Range>,
5810
                    public detail::scan_result_value_storage<Args...> {
5811
    using range_base = detail::scan_result_base<Range>;
5812
    using value_base = detail::scan_result_value_storage<Args...>;
5813
5814
public:
5815
    using range_type = typename range_base::range_type;
5816
    using tuple_type = typename value_base::tuple_type;
5817
5818
    constexpr scan_result() = default;
5819
5820
    constexpr scan_result(const scan_result&) = default;
5821
2.05M
    constexpr scan_result(scan_result&&) = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5821
151k
    constexpr scan_result(scan_result&&) = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5821
167k
    constexpr scan_result(scan_result&&) = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5821
868k
    constexpr scan_result(scan_result&&) = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5821
868k
    constexpr scan_result(scan_result&&) = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5821
1.43k
    constexpr scan_result(scan_result&&) = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5821
372
    constexpr scan_result(scan_result&&) = default;
5822
    constexpr scan_result& operator=(const scan_result&) = default;
5823
    constexpr scan_result& operator=(scan_result&&) = default;
5824
5825
4.11M
    ~scan_result() = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Line
Count
Source
5825
303k
    ~scan_result() = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Line
Count
Source
5825
335k
    ~scan_result() = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_result()
Line
Count
Source
5825
1.73M
    ~scan_result() = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_result()
Line
Count
Source
5825
1.73M
    ~scan_result() = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::~scan_result()
Line
Count
Source
5825
2.87k
    ~scan_result() = default;
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::~scan_result()
Line
Count
Source
5825
744
    ~scan_result() = default;
5826
5827
    scan_result(range_type r, tuple_type&& values)
5828
        : range_base(SCN_MOVE(r)), value_base(SCN_MOVE(values))
5829
13.3M
    {
5830
13.3M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<signed char>&&)
Line
Count
Source
5829
296k
    {
5830
296k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<unsigned char>&&)
Line
Count
Source
5829
283k
    {
5830
283k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<int>&&)
Line
Count
Source
5829
382k
    {
5830
382k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<unsigned int>&&)
Line
Count
Source
5829
324k
    {
5830
324k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<long long>&&)
Line
Count
Source
5829
390k
    {
5830
390k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
5829
328k
    {
5830
328k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<signed char>&&)
Line
Count
Source
5829
297k
    {
5830
297k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<unsigned char>&&)
Line
Count
Source
5829
284k
    {
5830
284k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<int>&&)
Line
Count
Source
5829
383k
    {
5830
383k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<unsigned int>&&)
Line
Count
Source
5829
326k
    {
5830
326k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<long long>&&)
Line
Count
Source
5829
390k
    {
5830
390k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
5829
330k
    {
5830
330k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<signed char>&&)
Line
Count
Source
5829
595
    {
5830
595
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<unsigned char>&&)
Line
Count
Source
5829
500
    {
5830
500
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<int>&&)
Line
Count
Source
5829
711
    {
5830
711
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<unsigned int>&&)
Line
Count
Source
5829
564
    {
5830
564
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<long long>&&)
Line
Count
Source
5829
864
    {
5830
864
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
5829
694
    {
5830
694
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<signed char>&&)
Line
Count
Source
5829
595
    {
5830
595
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<unsigned char>&&)
Line
Count
Source
5829
500
    {
5830
500
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<int>&&)
Line
Count
Source
5829
711
    {
5830
711
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<unsigned int>&&)
Line
Count
Source
5829
564
    {
5830
564
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<long long>&&)
Line
Count
Source
5829
864
    {
5830
864
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
5829
694
    {
5830
694
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<float>&&)
Line
Count
Source
5829
904k
    {
5830
904k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<double>&&)
Line
Count
Source
5829
981k
    {
5830
981k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<long double>&&)
Line
Count
Source
5829
994k
    {
5830
994k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<float>&&)
Line
Count
Source
5829
956k
    {
5830
956k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<double>&&)
Line
Count
Source
5829
1.03M
    {
5830
1.03M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<long double>&&)
Line
Count
Source
5829
1.04M
    {
5830
1.04M
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<float>&&)
Line
Count
Source
5829
53.1k
    {
5830
53.1k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<double>&&)
Line
Count
Source
5829
53.7k
    {
5830
53.7k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<long double>&&)
Line
Count
Source
5829
54.5k
    {
5830
54.5k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<float>&&)
Line
Count
Source
5829
53.0k
    {
5830
53.0k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<double>&&)
Line
Count
Source
5829
53.5k
    {
5830
53.5k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<long double>&&)
Line
Count
Source
5829
54.4k
    {
5830
54.4k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5829
151k
    {
5830
151k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Line
Count
Source
5829
151k
    {
5830
151k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5829
167k
    {
5830
167k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5829
868k
    {
5830
868k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Line
Count
Source
5829
868k
    {
5830
868k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5829
868k
    {
5830
868k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<char>&&)
Line
Count
Source
5829
222
    {
5830
222
    }
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<bool>&&)
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<void*>&&)
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
5829
1.43k
    {
5830
1.43k
    }
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<wchar_t>&&)
Line
Count
Source
5829
112
    {
5830
112
    }
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<bool>&&)
Unexecuted instantiation: scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<void*>&&)
scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::scan_result(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
5829
372
    {
5830
372
    }
5831
5832
    template <typename OtherR,
5833
              std::enable_if_t<std::is_constructible_v<range_type, OtherR>>* =
5834
                  nullptr>
5835
    scan_result(OtherR&& r, tuple_type&& values)
5836
        : range_base(detail::scan_result_convert_tag{}, SCN_FWD(r)),
5837
          value_base(SCN_MOVE(values))
5838
    {
5839
    }
5840
5841
    template <typename OtherR,
5842
              std::enable_if_t<
5843
                  std::is_constructible_v<range_type, OtherR> &&
5844
                  std::is_convertible_v<const OtherR&, range_type>>* = nullptr>
5845
    SCN_IMPLICIT scan_result(const scan_result<OtherR, Args...>& o)
5846
        : range_base(detail::scan_result_convert_tag{}, o.range()),
5847
          value_base(o.values())
5848
    {
5849
    }
5850
    template <typename OtherR,
5851
              std::enable_if_t<
5852
                  std::is_constructible_v<range_type, OtherR> &&
5853
                  !std::is_convertible_v<const OtherR&, range_type>>* = nullptr>
5854
    explicit scan_result(const scan_result<OtherR, Args...>& o)
5855
        : range_base(detail::scan_result_convert_tag{}, o.range()),
5856
          value_base(o.values())
5857
    {
5858
    }
5859
5860
    template <typename OtherR,
5861
              std::enable_if_t<std::is_constructible_v<range_type, OtherR> &&
5862
                               std::is_convertible_v<OtherR&&, range_type>>* =
5863
                  nullptr>
5864
    SCN_IMPLICIT scan_result(scan_result<OtherR, Args...>&& o)
5865
        : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())),
5866
          value_base(SCN_MOVE(o.values()))
5867
    {
5868
    }
5869
    template <typename OtherR,
5870
              std::enable_if_t<std::is_constructible_v<range_type, OtherR> &&
5871
                               !std::is_convertible_v<OtherR&&, range_type>>* =
5872
                  nullptr>
5873
    explicit scan_result(scan_result<OtherR, Args...>&& o)
5874
        : range_base(detail::scan_result_convert_tag{}, SCN_MOVE(o.range())),
5875
          value_base(SCN_MOVE(o.values()))
5876
    {
5877
    }
5878
5879
    template <typename OtherR,
5880
              typename =
5881
                  std::enable_if_t<std::is_constructible_v<range_type, OtherR>>>
5882
    scan_result& operator=(const scan_result<OtherR, Args...>& o)
5883
    {
5884
        this->assign_range(o);
5885
        this->values() = o.values();
5886
        return *this;
5887
    }
5888
5889
    template <typename OtherR,
5890
              typename =
5891
                  std::enable_if_t<std::is_constructible_v<range_type, OtherR>>>
5892
    scan_result& operator=(scan_result<OtherR, Args...>&& o)
5893
    {
5894
        this->assign_range(o);
5895
        this->values() = SCN_MOVE(o.values());
5896
        return *this;
5897
    }
5898
};
5899
5900
template <typename R, typename... Args>
5901
scan_result(R, std::tuple<Args...>) -> scan_result<R, Args...>;
5902
template <typename R, typename Ctx, typename... Args>
5903
scan_result(R, detail::scan_arg_store<Ctx, Args...>&)
5904
    -> scan_result<R, Args...>;
5905
5906
namespace detail {
5907
template <typename SourceRange>
5908
auto make_vscan_result_range_end(SourceRange& source)
5909
13.3M
{
5910
13.3M
    return ranges::end(source);
5911
13.3M
}
auto scn::v3::detail::make_vscan_result_range_end<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >(scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>&)
Line
Count
Source
5909
5.18M
{
5910
5.18M
    return ranges::end(source);
5911
5.18M
}
auto scn::v3::detail::make_vscan_result_range_end<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >&)
Line
Count
Source
5909
5.22M
{
5910
5.22M
    return ranges::end(source);
5911
5.22M
}
auto scn::v3::detail::make_vscan_result_range_end<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >(scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>&)
Line
Count
Source
5909
1.90M
{
5910
1.90M
    return ranges::end(source);
5911
1.90M
}
auto scn::v3::detail::make_vscan_result_range_end<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >(scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >&)
Line
Count
Source
5909
1.03M
{
5910
1.03M
    return ranges::end(source);
5911
1.03M
}
auto scn::v3::detail::make_vscan_result_range_end<std::__1::basic_string_view<char, std::__1::char_traits<char> > >(std::__1::basic_string_view<char, std::__1::char_traits<char> >&)
Line
Count
Source
5909
4.53k
{
5910
4.53k
    return ranges::end(source);
5911
4.53k
}
auto scn::v3::detail::make_vscan_result_range_end<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&)
Line
Count
Source
5909
1.22k
{
5910
1.22k
    return ranges::end(source);
5911
1.22k
}
5912
template <typename CharT, size_t N>
5913
auto make_vscan_result_range_end(CharT (&source)[N])
5914
    -> ranges::sentinel_t<CharT (&)[N]>
5915
{
5916
    return source + N - 1;
5917
}
5918
5919
template <typename SourceRange>
5920
auto make_vscan_result_range(SourceRange&& source, std::ptrdiff_t n)
5921
    -> borrowed_tail_subrange_t<SourceRange>
5922
13.3M
{
5923
13.3M
    if constexpr (ranges::random_access_iterator<
5924
13.3M
                      ranges::iterator_t<SourceRange>>) {
5925
13.3M
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5926
13.3M
    }
5927
13.3M
    else {
5928
13.3M
        auto it = ranges::begin(source);
5929
13.3M
        while (n > 0) {
5930
13.3M
            --n;
5931
13.3M
            ++it;
5932
13.3M
        }
5933
13.3M
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5934
13.3M
    }
5935
13.3M
}
_ZN3scn2v36detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l
Line
Count
Source
5922
5.18M
{
5923
5.18M
    if constexpr (ranges::random_access_iterator<
5924
5.18M
                      ranges::iterator_t<SourceRange>>) {
5925
5.18M
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5926
5.18M
    }
5927
5.18M
    else {
5928
5.18M
        auto it = ranges::begin(source);
5929
5.18M
        while (n > 0) {
5930
5.18M
            --n;
5931
5.18M
            ++it;
5932
5.18M
        }
5933
5.18M
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5934
5.18M
    }
5935
5.18M
}
_ZN3scn2v36detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISH_EEE4typeEOSH_l
Line
Count
Source
5922
5.22M
{
5923
5.22M
    if constexpr (ranges::random_access_iterator<
5924
5.22M
                      ranges::iterator_t<SourceRange>>) {
5925
5.22M
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5926
5.22M
    }
5927
5.22M
    else {
5928
5.22M
        auto it = ranges::begin(source);
5929
5.22M
        while (n > 0) {
5930
5.22M
            --n;
5931
5.22M
            ++it;
5932
5.22M
        }
5933
5.22M
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5934
5.22M
    }
5935
5.22M
}
_ZN3scn2v36detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISB_EEE4typeEOSB_l
Line
Count
Source
5922
1.90M
{
5923
1.90M
    if constexpr (ranges::random_access_iterator<
5924
1.90M
                      ranges::iterator_t<SourceRange>>) {
5925
1.90M
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5926
1.90M
    }
5927
1.90M
    else {
5928
1.90M
        auto it = ranges::begin(source);
5929
1.90M
        while (n > 0) {
5930
1.90M
            --n;
5931
1.90M
            ++it;
5932
1.90M
        }
5933
1.90M
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5934
1.90M
    }
5935
1.90M
}
_ZN3scn2v36detail23make_vscan_result_rangeINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISH_EEE4typeEOSH_l
Line
Count
Source
5922
1.03M
{
5923
1.03M
    if constexpr (ranges::random_access_iterator<
5924
1.03M
                      ranges::iterator_t<SourceRange>>) {
5925
1.03M
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5926
1.03M
    }
5927
1.03M
    else {
5928
1.03M
        auto it = ranges::begin(source);
5929
1.03M
        while (n > 0) {
5930
1.03M
            --n;
5931
1.03M
            ++it;
5932
1.03M
        }
5933
1.03M
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5934
1.03M
    }
5935
1.03M
}
_ZN3scn2v36detail23make_vscan_result_rangeIRNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISA_EEE4typeEOSA_l
Line
Count
Source
5922
4.53k
{
5923
4.53k
    if constexpr (ranges::random_access_iterator<
5924
4.53k
                      ranges::iterator_t<SourceRange>>) {
5925
4.53k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5926
4.53k
    }
5927
4.53k
    else {
5928
4.53k
        auto it = ranges::begin(source);
5929
4.53k
        while (n > 0) {
5930
4.53k
            --n;
5931
4.53k
            ++it;
5932
4.53k
        }
5933
4.53k
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5934
4.53k
    }
5935
4.53k
}
_ZN3scn2v36detail23make_vscan_result_rangeIRNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEEENS1_22borrowed_tail_subrangeIT_Xsr6rangesE14borrowed_rangeISA_EEE4typeEOSA_l
Line
Count
Source
5922
1.22k
{
5923
1.22k
    if constexpr (ranges::random_access_iterator<
5924
1.22k
                      ranges::iterator_t<SourceRange>>) {
5925
1.22k
        return {ranges::begin(source) + n, make_vscan_result_range_end(source)};
5926
1.22k
    }
5927
1.22k
    else {
5928
1.22k
        auto it = ranges::begin(source);
5929
1.22k
        while (n > 0) {
5930
1.22k
            --n;
5931
1.22k
            ++it;
5932
1.22k
        }
5933
1.22k
        return {SCN_MOVE(it), make_vscan_result_range_end(source)};
5934
1.22k
    }
5935
1.22k
}
5936
inline auto make_vscan_result_range(std::FILE* source, std::ptrdiff_t)
5937
0
{
5938
0
    return source;
5939
0
}
5940
}  // namespace detail
5941
5942
/////////////////////////////////////////////////////////////////
5943
// Format string parsing
5944
/////////////////////////////////////////////////////////////////
5945
5946
namespace detail {
5947
/// Parse context with extra data used only for compile-time checks
5948
template <typename CharT>
5949
class compile_parse_context : public basic_scan_parse_context<CharT> {
5950
    using base = basic_scan_parse_context<CharT>;
5951
5952
public:
5953
    template <typename Source>
5954
    explicit constexpr compile_parse_context(
5955
        std::basic_string_view<CharT> format_str,
5956
        int num_args,
5957
        const arg_type* types,
5958
        type_identity<Source> source_tag,
5959
        int next_arg_id = 0)
5960
        : base(format_str, next_arg_id),
5961
          m_num_args(num_args),
5962
          m_types(types),
5963
          m_is_contiguous(ranges::range<Source> &&
5964
                          ranges::contiguous_range<Source>),
5965
          m_is_borrowed(
5966
              (ranges::range<Source> && ranges::borrowed_range<Source>) ||
5967
              std::is_same_v<detail::remove_cvref_t<Source>, std::FILE*>)
5968
    {
5969
    }
5970
5971
    SCN_NODISCARD constexpr int get_num_args() const
5972
0
    {
5973
0
        return m_num_args;
5974
0
    }
Unexecuted instantiation: scn::v3::detail::compile_parse_context<char>::get_num_args() const
Unexecuted instantiation: scn::v3::detail::compile_parse_context<wchar_t>::get_num_args() const
5975
    SCN_NODISCARD constexpr arg_type get_arg_type(std::size_t id) const
5976
    {
5977
        return m_types[id];
5978
    }
5979
5980
    SCN_GCC_PUSH
5981
    SCN_GCC_IGNORE("-Wsign-conversion")
5982
5983
    constexpr std::size_t next_arg_id()
5984
    {
5985
        auto id = base::next_arg_id();
5986
        if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) {
5987
            this->on_error("Argument not found");
5988
        }
5989
        return id;
5990
    }
5991
5992
    constexpr void check_arg_id(std::size_t id)
5993
    {
5994
        base::check_arg_id(id);
5995
        if (SCN_UNLIKELY(id >= static_cast<size_t>(m_num_args))) {
5996
            this->on_error("Argument not found");
5997
        }
5998
    }
5999
    using base::check_arg_id;
6000
6001
    constexpr void check_arg_can_be_read(std::size_t id)
6002
    {
6003
        auto type = get_arg_type(id);
6004
6005
        if ((type == arg_type::narrow_string_view_type ||
6006
             type == arg_type::wide_string_view_type) &&
6007
            !m_is_contiguous) {
6008
            // clang-format off
6009
            this->on_error("Cannot read a string_view from a non-contiguous source");
6010
            // clang-format on
6011
            return;
6012
        }
6013
        if ((type == arg_type::narrow_string_view_type ||
6014
             type == arg_type::wide_string_view_type) &&
6015
            !m_is_borrowed) {
6016
            // clang-format off
6017
            this->on_error("Cannot read a string_view from a non-borrowed source");
6018
            // clang-format on
6019
            return;
6020
        }
6021
6022
        if ((type == arg_type::narrow_regex_matches_type ||
6023
             type == arg_type::wide_regex_matches_type) &&
6024
            !m_is_contiguous) {
6025
            // clang-format off
6026
            this->on_error("Cannot read a regex_matches from a non-contiguous source");
6027
            // clang-format on
6028
            return;
6029
        }
6030
    }
6031
6032
private:
6033
    int m_num_args;
6034
    const arg_type* m_types;
6035
    bool m_is_contiguous, m_is_borrowed;
6036
6037
    SCN_GCC_POP  // -Wsign-conversion
6038
};
6039
6040
constexpr inline bool is_constant_evaluated(bool default_value = false) noexcept
6041
0
{
6042
0
#ifdef __cpp_lib_is_constant_evaluated
6043
0
    SCN_UNUSED(default_value);
6044
0
    return std::is_constant_evaluated();
6045
0
#else
6046
0
    return default_value;
6047
0
#endif
6048
0
}
6049
}  // namespace detail
6050
6051
template <typename CharT>
6052
constexpr void basic_scan_parse_context<CharT>::do_check_arg_id(size_t id)
6053
11.1M
{
6054
11.1M
    if (detail::is_constant_evaluated() &&
6055
11.1M
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6056
        // The cast below will cause an error on gcc pre-12
6057
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6058
0
        if (static_cast<int>(id) >=
6059
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6060
0
            SCN_UNLIKELY_ATTR
6061
0
            on_error("Argument not found");
6062
0
        }
6063
0
    }
6064
11.1M
}
scn::v3::basic_scan_parse_context<char>::do_check_arg_id(unsigned long)
Line
Count
Source
6053
8.37M
{
6054
8.37M
    if (detail::is_constant_evaluated() &&
6055
8.37M
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6056
        // The cast below will cause an error on gcc pre-12
6057
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6058
0
        if (static_cast<int>(id) >=
6059
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6060
0
            SCN_UNLIKELY_ATTR
6061
0
            on_error("Argument not found");
6062
0
        }
6063
0
    }
6064
8.37M
}
scn::v3::basic_scan_parse_context<wchar_t>::do_check_arg_id(unsigned long)
Line
Count
Source
6053
2.80M
{
6054
2.80M
    if (detail::is_constant_evaluated() &&
6055
2.80M
        (!SCN_GCC || SCN_GCC >= SCN_COMPILER(12, 0, 0))) {
6056
        // The cast below will cause an error on gcc pre-12
6057
0
        using parse_context_type = detail::compile_parse_context<CharT>;
6058
0
        if (static_cast<int>(id) >=
6059
0
            static_cast<parse_context_type*>(this)->get_num_args()) {
6060
0
            SCN_UNLIKELY_ATTR
6061
0
            on_error("Argument not found");
6062
0
        }
6063
0
    }
6064
2.80M
}
6065
6066
namespace detail {
6067
enum class align_type : unsigned char {
6068
    none = 0,
6069
    left = 1,   // '<'
6070
    right = 2,  // '>'
6071
    center = 3  // '^'
6072
};
6073
6074
enum class presentation_type {
6075
    none,
6076
    int_binary,            // 'b', 'B'
6077
    int_decimal,           // 'd'
6078
    int_generic,           // 'i'
6079
    int_unsigned_decimal,  // 'u'
6080
    int_octal,             // 'o'
6081
    int_hex,               // 'x', 'X'
6082
    int_arbitrary_base,    // 'rnn', 'Rnn' (R for radix)
6083
    float_hex,             // 'a', 'A'
6084
    float_scientific,      // 'e', 'E'
6085
    float_fixed,           // 'f', 'F'
6086
    float_general,         // 'g', 'G'
6087
    string,                // 's'
6088
    string_set,            // '[...]'
6089
    regex,                 // '/.../.'
6090
    regex_escaped,         // '/..\/../.'
6091
    character,             // 'c'
6092
    escaped_character,     // '?'
6093
    pointer,               // 'p'
6094
};
6095
6096
enum class regex_flags {
6097
    none = 0,
6098
    multiline = 1,   // /m
6099
    singleline = 2,  // /s
6100
    nocase = 4,      // /i
6101
    nocapture = 8,   // /n
6102
    // TODO?
6103
    // would probably need to go hand-in-hand with locale,
6104
    // where it could even be the default/only option -> no flag?
6105
    // why else would you even use locale with a regex?
6106
    // collate = 16,
6107
};
6108
6109
constexpr regex_flags operator&(regex_flags a, regex_flags b)
6110
315k
{
6111
315k
    return static_cast<regex_flags>(static_cast<unsigned>(a) &
6112
315k
                                    static_cast<unsigned>(b));
6113
315k
}
6114
constexpr regex_flags operator|(regex_flags a, regex_flags b)
6115
41.0k
{
6116
41.0k
    return static_cast<regex_flags>(static_cast<unsigned>(a) |
6117
41.0k
                                    static_cast<unsigned>(b));
6118
41.0k
}
6119
constexpr regex_flags operator^(regex_flags a, regex_flags b)
6120
0
{
6121
0
    return static_cast<regex_flags>(static_cast<unsigned>(a) ^
6122
0
                                    static_cast<unsigned>(b));
6123
0
}
6124
6125
constexpr regex_flags& operator&=(regex_flags& a, regex_flags b)
6126
0
{
6127
0
    return a = a & b;
6128
0
}
6129
constexpr regex_flags& operator|=(regex_flags& a, regex_flags b)
6130
41.0k
{
6131
41.0k
    return a = a | b;
6132
41.0k
}
6133
constexpr regex_flags& operator^=(regex_flags& a, regex_flags b)
6134
0
{
6135
0
    return a = a ^ b;
6136
0
}
6137
6138
class fill_type {
6139
public:
6140
    constexpr void operator=(char c)
6141
0
    {
6142
0
        m_data[0] = c;
6143
0
        m_size = 1;
6144
0
    }
6145
6146
    template <typename CharT>
6147
    constexpr void operator=(std::basic_string_view<CharT> s)
6148
20.5k
    {
6149
20.5k
        SCN_EXPECT(!s.empty());
6150
20.5k
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
6151
20.5k
        if constexpr (sizeof(CharT) == 1) {
6152
36.9k
            for (size_t i = 0; i < s.size(); ++i) {
6153
19.3k
                SCN_GCC_PUSH
6154
19.3k
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
6155
19.3k
                m_data[i] = s[i];
6156
19.3k
                SCN_GCC_POP
6157
19.3k
            }
6158
17.6k
            m_size = static_cast<unsigned char>(s.size());
6159
17.6k
        }
6160
2.86k
        else if constexpr (sizeof(CharT) == 2) {
6161
2.86k
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
6162
2.86k
            m_data[1] =
6163
2.86k
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
6164
2.86k
            if (s.size() == 1) {
6165
2.86k
                return;
6166
2.86k
            }
6167
2.86k
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
6168
2.86k
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
6169
2.86k
        }
6170
2.86k
        else {
6171
2.86k
            const auto front = static_cast<unsigned>(s.front());
6172
2.86k
            m_data[0] = static_cast<char>(front);
6173
2.86k
            m_data[1] = static_cast<char>(front >> 8);
6174
2.86k
            m_data[2] = static_cast<char>(front >> 16);
6175
2.86k
            m_data[3] = static_cast<char>(front >> 24);
6176
2.86k
        }
6177
20.5k
    }
void scn::v3::detail::fill_type::operator=<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
6148
17.6k
    {
6149
17.6k
        SCN_EXPECT(!s.empty());
6150
17.6k
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
6151
17.6k
        if constexpr (sizeof(CharT) == 1) {
6152
36.9k
            for (size_t i = 0; i < s.size(); ++i) {
6153
19.3k
                SCN_GCC_PUSH
6154
19.3k
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
6155
19.3k
                m_data[i] = s[i];
6156
19.3k
                SCN_GCC_POP
6157
19.3k
            }
6158
17.6k
            m_size = static_cast<unsigned char>(s.size());
6159
17.6k
        }
6160
17.6k
        else if constexpr (sizeof(CharT) == 2) {
6161
17.6k
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
6162
17.6k
            m_data[1] =
6163
17.6k
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
6164
17.6k
            if (s.size() == 1) {
6165
17.6k
                return;
6166
17.6k
            }
6167
17.6k
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
6168
17.6k
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
6169
17.6k
        }
6170
17.6k
        else {
6171
17.6k
            const auto front = static_cast<unsigned>(s.front());
6172
17.6k
            m_data[0] = static_cast<char>(front);
6173
17.6k
            m_data[1] = static_cast<char>(front >> 8);
6174
17.6k
            m_data[2] = static_cast<char>(front >> 16);
6175
17.6k
            m_data[3] = static_cast<char>(front >> 24);
6176
17.6k
        }
6177
17.6k
    }
void scn::v3::detail::fill_type::operator=<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
6148
2.86k
    {
6149
2.86k
        SCN_EXPECT(!s.empty());
6150
2.86k
        SCN_EXPECT(s.size() * sizeof(CharT) <= max_size);
6151
2.86k
        if constexpr (sizeof(CharT) == 1) {
6152
2.86k
            for (size_t i = 0; i < s.size(); ++i) {
6153
2.86k
                SCN_GCC_PUSH
6154
2.86k
                SCN_GCC_IGNORE("-Wstringop-overflow")  // false positive
6155
2.86k
                m_data[i] = s[i];
6156
2.86k
                SCN_GCC_POP
6157
2.86k
            }
6158
2.86k
            m_size = static_cast<unsigned char>(s.size());
6159
2.86k
        }
6160
2.86k
        else if constexpr (sizeof(CharT) == 2) {
6161
2.86k
            m_data[0] = static_cast<char>(static_cast<unsigned>(s.front()));
6162
2.86k
            m_data[1] =
6163
2.86k
                static_cast<char>(static_cast<unsigned>(s.front()) >> 8);
6164
2.86k
            if (s.size() == 1) {
6165
2.86k
                return;
6166
2.86k
            }
6167
2.86k
            m_data[2] = static_cast<char>(static_cast<unsigned>(s[1]));
6168
2.86k
            m_data[3] = static_cast<char>(static_cast<unsigned>(s[1]) >> 8);
6169
2.86k
        }
6170
2.86k
        else {
6171
2.86k
            const auto front = static_cast<unsigned>(s.front());
6172
2.86k
            m_data[0] = static_cast<char>(front);
6173
2.86k
            m_data[1] = static_cast<char>(front >> 8);
6174
2.86k
            m_data[2] = static_cast<char>(front >> 16);
6175
2.86k
            m_data[3] = static_cast<char>(front >> 24);
6176
2.86k
        }
6177
2.86k
    }
6178
6179
    constexpr size_t size() const
6180
10.0k
    {
6181
10.0k
        return m_size;
6182
10.0k
    }
6183
6184
    template <typename CharT>
6185
    CharT get_code_unit() const
6186
9.39k
    {
6187
9.39k
        SCN_EXPECT(m_size <= sizeof(CharT));
6188
9.39k
        CharT r{};
6189
9.39k
        std::memcpy(&r, m_data, m_size);
6190
9.39k
        return r;
6191
9.39k
    }
char scn::v3::detail::fill_type::get_code_unit<char>() const
Line
Count
Source
6186
8.26k
    {
6187
8.26k
        SCN_EXPECT(m_size <= sizeof(CharT));
6188
8.26k
        CharT r{};
6189
8.26k
        std::memcpy(&r, m_data, m_size);
6190
8.26k
        return r;
6191
8.26k
    }
wchar_t scn::v3::detail::fill_type::get_code_unit<wchar_t>() const
Line
Count
Source
6186
1.13k
    {
6187
1.13k
        SCN_EXPECT(m_size <= sizeof(CharT));
6188
1.13k
        CharT r{};
6189
1.13k
        std::memcpy(&r, m_data, m_size);
6190
1.13k
        return r;
6191
1.13k
    }
6192
6193
    template <typename CharT>
6194
    std::basic_string_view<CharT> get_code_units() const
6195
622
    {
6196
622
        return {reinterpret_cast<const CharT*>(m_data), m_size};
6197
622
    }
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::fill_type::get_code_units<char>() const
Line
Count
Source
6195
622
    {
6196
622
        return {reinterpret_cast<const CharT*>(m_data), m_size};
6197
622
    }
Unexecuted instantiation: std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::fill_type::get_code_units<wchar_t>() const
6198
6199
private:
6200
    static constexpr size_t max_size = 4;
6201
    char m_data[max_size] = {' '};
6202
    unsigned char m_size{1};
6203
};
6204
6205
struct format_specs {
6206
    int width{0}, precision{0};
6207
    fill_type fill{};
6208
    presentation_type type{presentation_type::none};
6209
    std::array<uint8_t, 128 / 8> charset_literals{0};
6210
    bool charset_has_nonascii{false}, charset_is_inverted{false};
6211
    const void* charset_string_data{nullptr};
6212
    size_t charset_string_size{0};
6213
    regex_flags regexp_flags{regex_flags::none};
6214
    unsigned char arbitrary_base{0};
6215
    align_type align{align_type::none};
6216
    bool localized{false};
6217
6218
    constexpr format_specs() = default;
6219
6220
    SCN_NODISCARD constexpr int get_base() const
6221
3.92M
    {
6222
3.92M
        SCN_GCC_COMPAT_PUSH
6223
3.92M
        SCN_GCC_COMPAT_IGNORE("-Wswitch-enum")
6224
3.92M
        switch (type) {
6225
745k
            case presentation_type::none:
6226
745k
                return 10;
6227
1.02M
            case presentation_type::int_generic:
6228
1.02M
                return 0;
6229
0
            case presentation_type::int_arbitrary_base:
6230
0
                return arbitrary_base;
6231
6232
222k
            case presentation_type::int_binary:
6233
222k
                return 2;
6234
349k
            case presentation_type::int_octal:
6235
349k
                return 8;
6236
741k
            case presentation_type::int_decimal:
6237
741k
            case presentation_type::int_unsigned_decimal:
6238
741k
                return 10;
6239
837k
            case presentation_type::int_hex:
6240
837k
                return 16;
6241
6242
0
            default:
6243
0
                SCN_EXPECT(false);
6244
3.92M
                SCN_UNREACHABLE;
6245
3.92M
        }
6246
3.92M
        SCN_GCC_COMPAT_POP
6247
3.92M
    }
6248
6249
    template <typename CharT>
6250
    std::basic_string_view<CharT> charset_string() const
6251
79.1k
    {
6252
79.1k
        return {reinterpret_cast<const CharT*>(charset_string_data),
6253
79.1k
                charset_string_size};
6254
79.1k
    }
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::format_specs::charset_string<char>() const
Line
Count
Source
6251
48.7k
    {
6252
48.7k
        return {reinterpret_cast<const CharT*>(charset_string_data),
6253
48.7k
                charset_string_size};
6254
48.7k
    }
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::format_specs::charset_string<wchar_t>() const
Line
Count
Source
6251
30.3k
    {
6252
30.3k
        return {reinterpret_cast<const CharT*>(charset_string_data),
6253
30.3k
                charset_string_size};
6254
30.3k
    }
6255
};
6256
6257
struct specs_setter {
6258
public:
6259
11.1M
    explicit constexpr specs_setter(format_specs& specs) : m_specs(specs) {}
6260
6261
    constexpr void on_align(align_type align)
6262
29.7k
    {
6263
29.7k
        m_specs.align = align;
6264
29.7k
    }
6265
    template <typename CharT>
6266
    constexpr void on_fill(std::basic_string_view<CharT> fill)
6267
20.5k
    {
6268
20.5k
        m_specs.fill = fill;
6269
20.5k
    }
void scn::v3::detail::specs_setter::on_fill<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
6267
17.6k
    {
6268
17.6k
        m_specs.fill = fill;
6269
17.6k
    }
void scn::v3::detail::specs_setter::on_fill<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
6267
2.86k
    {
6268
2.86k
        m_specs.fill = fill;
6269
2.86k
    }
6270
    constexpr void on_localized()
6271
2.18M
    {
6272
2.18M
        if constexpr (!SCN_DISABLE_LOCALE) {
6273
2.18M
            m_specs.localized = true;
6274
2.18M
        }
6275
0
        else {
6276
0
            on_error("'L' flag invalid when SCN_DISABLE_LOCALE is on");
6277
0
        }
6278
2.18M
    }
6279
6280
    constexpr void on_width(int width)
6281
128k
    {
6282
128k
        if (m_specs.precision != 0 && width > m_specs.precision) {
6283
            // clang-format off
6284
0
            return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)");
6285
            // clang-format on
6286
0
        }
6287
6288
128k
        m_specs.width = width;
6289
128k
    }
6290
    constexpr void on_precision(int prec)
6291
23.9k
    {
6292
23.9k
        if (m_specs.width > prec) {
6293
            // clang-format off
6294
82
            return this->on_error("Width (i.e., minimum field length) cannot be larger than precision (i.e., maximum field length)");
6295
            // clang-format on
6296
82
        }
6297
6298
23.8k
        m_specs.precision = prec;
6299
23.8k
    }
6300
6301
    constexpr void on_type(presentation_type type)
6302
8.79M
    {
6303
8.79M
        m_specs.type = type;
6304
8.79M
    }
6305
6306
    constexpr void on_charset_single(char32_t cp)
6307
6.32M
    {
6308
6.32M
        const auto cp_value = static_cast<unsigned>(cp);
6309
6.32M
        if (SCN_LIKELY(cp_value <= 127)) {
6310
5.49M
            m_specs.charset_literals[cp_value / 8] |=
6311
5.49M
                static_cast<unsigned char>(1ul << (cp_value % 8));
6312
5.49M
        }
6313
826k
        else {
6314
826k
            m_specs.charset_has_nonascii = true;
6315
826k
        }
6316
6.32M
    }
6317
6318
    constexpr void on_charset_range(char32_t begin, char32_t end)
6319
83.6k
    {
6320
83.6k
        const auto begin_value = static_cast<unsigned>(begin);
6321
83.6k
        const auto end_value = static_cast<unsigned>(end);
6322
83.6k
        SCN_EXPECT(begin_value < end_value);
6323
6324
83.6k
        if (SCN_LIKELY(end_value <= 127)) {
6325
            // No need to bit-twiddle with a mask, because with the
6326
            // SCN_ASSUME, -O3 will optimize this to a single operation
6327
71.7k
            SCN_ASSUME(begin_value < end_value);
6328
2.76M
            for (auto v = begin_value; v != end_value; ++v) {
6329
2.68M
                m_specs.charset_literals[v / 8] |=
6330
2.68M
                    static_cast<unsigned char>(1ul << (v % 8));
6331
2.68M
            }
6332
71.7k
        }
6333
11.9k
        else {
6334
11.9k
            m_specs.charset_has_nonascii = true;
6335
11.9k
        }
6336
83.6k
    }
6337
6338
    constexpr void on_charset_inverted()
6339
5.27k
    {
6340
5.27k
        m_specs.charset_is_inverted = true;
6341
5.27k
    }
6342
6343
    template <typename CharT>
6344
    constexpr void on_character_set_string(std::basic_string_view<CharT> fmt)
6345
53.9k
    {
6346
53.9k
        m_specs.charset_string_data = fmt.data();
6347
53.9k
        m_specs.charset_string_size = fmt.size();
6348
53.9k
        on_type(presentation_type::string_set);
6349
53.9k
    }
void scn::v3::detail::specs_setter::on_character_set_string<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
6345
35.9k
    {
6346
35.9k
        m_specs.charset_string_data = fmt.data();
6347
35.9k
        m_specs.charset_string_size = fmt.size();
6348
35.9k
        on_type(presentation_type::string_set);
6349
35.9k
    }
void scn::v3::detail::specs_setter::on_character_set_string<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
6345
17.9k
    {
6346
17.9k
        m_specs.charset_string_data = fmt.data();
6347
17.9k
        m_specs.charset_string_size = fmt.size();
6348
17.9k
        on_type(presentation_type::string_set);
6349
17.9k
    }
6350
6351
    template <typename CharT>
6352
    constexpr void on_regex_pattern(std::basic_string_view<CharT> pattern)
6353
213k
    {
6354
213k
        m_specs.charset_string_data = pattern.data();
6355
213k
        m_specs.charset_string_size = pattern.size();
6356
213k
    }
void scn::v3::detail::specs_setter::on_regex_pattern<char>(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
6353
124k
    {
6354
124k
        m_specs.charset_string_data = pattern.data();
6355
124k
        m_specs.charset_string_size = pattern.size();
6356
124k
    }
void scn::v3::detail::specs_setter::on_regex_pattern<wchar_t>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
6353
88.8k
    {
6354
88.8k
        m_specs.charset_string_data = pattern.data();
6355
88.8k
        m_specs.charset_string_size = pattern.size();
6356
88.8k
    }
6357
    constexpr void on_regex_flags(regex_flags flags)
6358
212k
    {
6359
212k
        m_specs.regexp_flags = flags;
6360
212k
    }
6361
6362
    // Intentionally not constexpr
6363
    void on_error(const char* msg)
6364
335k
    {
6365
335k
        SCN_UNLIKELY_ATTR
6366
335k
        m_error = scan_error{scan_error::invalid_format_string, msg};
6367
335k
    }
6368
    void on_error(scan_error err)
6369
0
    {
6370
0
        SCN_LIKELY(err);
6371
0
        m_error = err;
6372
0
    }
6373
6374
    constexpr explicit operator bool() const
6375
17.3M
    {
6376
17.3M
        return static_cast<bool>(m_error);
6377
17.3M
    }
6378
6379
    constexpr scan_error get_error() const
6380
0
    {
6381
0
        return m_error;
6382
0
    }
6383
6384
protected:
6385
    format_specs& m_specs;
6386
    scan_error m_error;
6387
};
6388
6389
template <typename CharT>
6390
constexpr int parse_simple_int(const CharT*& begin, const CharT* end)
6391
153k
{
6392
153k
    SCN_EXPECT(begin != end);
6393
153k
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
6394
6395
153k
    unsigned long long value = 0;
6396
272k
    do {
6397
272k
        value *= 10;
6398
272k
        value += static_cast<unsigned long long>(*begin - '0');
6399
272k
        if (value >
6400
272k
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
6401
116
            return -1;
6402
116
        }
6403
272k
        ++begin;
6404
272k
    } while (begin != end && *begin >= '0' && *begin <= '9');
6405
153k
    return static_cast<int>(value);
6406
153k
}
int scn::v3::detail::parse_simple_int<char>(char const*&, char const*)
Line
Count
Source
6391
41.5k
{
6392
41.5k
    SCN_EXPECT(begin != end);
6393
41.5k
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
6394
6395
41.5k
    unsigned long long value = 0;
6396
131k
    do {
6397
131k
        value *= 10;
6398
131k
        value += static_cast<unsigned long long>(*begin - '0');
6399
131k
        if (value >
6400
131k
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
6401
116
            return -1;
6402
116
        }
6403
131k
        ++begin;
6404
131k
    } while (begin != end && *begin >= '0' && *begin <= '9');
6405
41.4k
    return static_cast<int>(value);
6406
41.5k
}
int scn::v3::detail::parse_simple_int<wchar_t>(wchar_t const*&, wchar_t const*)
Line
Count
Source
6391
111k
{
6392
111k
    SCN_EXPECT(begin != end);
6393
111k
    SCN_EXPECT(*begin >= '0' && *begin <= '9');
6394
6395
111k
    unsigned long long value = 0;
6396
141k
    do {
6397
141k
        value *= 10;
6398
141k
        value += static_cast<unsigned long long>(*begin - '0');
6399
141k
        if (value >
6400
141k
            static_cast<unsigned long long>(std::numeric_limits<int>::max())) {
6401
0
            return -1;
6402
0
        }
6403
141k
        ++begin;
6404
141k
    } while (begin != end && *begin >= '0' && *begin <= '9');
6405
111k
    return static_cast<int>(value);
6406
111k
}
6407
6408
template <typename CharT, typename IDHandler>
6409
constexpr const CharT* do_parse_arg_id(const CharT* begin,
6410
                                       const CharT* end,
6411
                                       IDHandler&& handler)
6412
125k
{
6413
125k
    SCN_EXPECT(begin != end);
6414
6415
125k
    CharT c = *begin;
6416
125k
    if (c < CharT{'0'} || c > CharT{'9'}) {
6417
112k
        handler.on_error("Invalid argument ID");
6418
112k
        return begin;
6419
112k
    }
6420
6421
12.2k
    int idx = 0;
6422
12.2k
    if (c != CharT{'0'}) {
6423
622
        idx = parse_simple_int(begin, end);
6424
622
    }
6425
11.6k
    else {
6426
11.6k
        ++begin;
6427
11.6k
    }
6428
6429
12.2k
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
6430
490
        handler.on_error("Invalid argument ID");
6431
490
        return begin;
6432
490
    }
6433
11.7k
    handler(idx);
6434
6435
11.7k
    return begin;
6436
12.2k
}
impl.cpp:char const* scn::v3::detail::do_parse_arg_id<char, scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&&)
Line
Count
Source
6412
123k
{
6413
123k
    SCN_EXPECT(begin != end);
6414
6415
123k
    CharT c = *begin;
6416
123k
    if (c < CharT{'0'} || c > CharT{'9'}) {
6417
112k
        handler.on_error("Invalid argument ID");
6418
112k
        return begin;
6419
112k
    }
6420
6421
11.6k
    int idx = 0;
6422
11.6k
    if (c != CharT{'0'}) {
6423
366
        idx = parse_simple_int(begin, end);
6424
366
    }
6425
11.2k
    else {
6426
11.2k
        ++begin;
6427
11.2k
    }
6428
6429
11.6k
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
6430
224
        handler.on_error("Invalid argument ID");
6431
224
        return begin;
6432
224
    }
6433
11.3k
    handler(idx);
6434
6435
11.3k
    return begin;
6436
11.6k
}
Unexecuted instantiation: impl.cpp:char const* scn::v3::detail::do_parse_arg_id<char, scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&&)
impl.cpp:wchar_t const* scn::v3::detail::do_parse_arg_id<wchar_t, scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&&)
Line
Count
Source
6412
1.20k
{
6413
1.20k
    SCN_EXPECT(begin != end);
6414
6415
1.20k
    CharT c = *begin;
6416
1.20k
    if (c < CharT{'0'} || c > CharT{'9'}) {
6417
576
        handler.on_error("Invalid argument ID");
6418
576
        return begin;
6419
576
    }
6420
6421
628
    int idx = 0;
6422
628
    if (c != CharT{'0'}) {
6423
256
        idx = parse_simple_int(begin, end);
6424
256
    }
6425
372
    else {
6426
372
        ++begin;
6427
372
    }
6428
6429
628
    if (begin == end || (*begin != CharT{'}'} && *begin != CharT{':'})) {
6430
266
        handler.on_error("Invalid argument ID");
6431
266
        return begin;
6432
266
    }
6433
362
    handler(idx);
6434
6435
362
    return begin;
6436
628
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v3::detail::do_parse_arg_id<wchar_t, scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&&)
6437
6438
template <typename CharT, typename IDHandler>
6439
constexpr const CharT* parse_arg_id(const CharT* begin,
6440
                                    const CharT* end,
6441
                                    IDHandler&& handler)
6442
11.2M
{
6443
11.2M
    SCN_EXPECT(begin != end);
6444
11.2M
    if (*begin != '}' && *begin != ':') {
6445
125k
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
6446
125k
    }
6447
6448
11.1M
    handler();
6449
11.1M
    return begin;
6450
11.2M
}
impl.cpp:char const* scn::v3::detail::parse_arg_id<char, scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter&>(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&&)
Line
Count
Source
6442
4.31M
{
6443
4.31M
    SCN_EXPECT(begin != end);
6444
4.31M
    if (*begin != '}' && *begin != ':') {
6445
123k
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
6446
123k
    }
6447
6448
4.19M
    handler();
6449
4.19M
    return begin;
6450
4.31M
}
impl.cpp:char const* scn::v3::detail::parse_arg_id<char, scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter&>(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&&)
Line
Count
Source
6442
4.16M
{
6443
4.16M
    SCN_EXPECT(begin != end);
6444
4.16M
    if (*begin != '}' && *begin != ':') {
6445
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
6446
0
    }
6447
6448
4.16M
    handler();
6449
4.16M
    return begin;
6450
4.16M
}
impl.cpp:wchar_t const* scn::v3::detail::parse_arg_id<wchar_t, scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&&)
Line
Count
Source
6442
1.63M
{
6443
1.63M
    SCN_EXPECT(begin != end);
6444
1.63M
    if (*begin != '}' && *begin != ':') {
6445
1.20k
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
6446
1.20k
    }
6447
6448
1.63M
    handler();
6449
1.63M
    return begin;
6450
1.63M
}
impl.cpp:wchar_t const* scn::v3::detail::parse_arg_id<wchar_t, scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter&>(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&&)
Line
Count
Source
6442
1.16M
{
6443
1.16M
    SCN_EXPECT(begin != end);
6444
1.16M
    if (*begin != '}' && *begin != ':') {
6445
0
        return do_parse_arg_id(begin, end, SCN_FWD(handler));
6446
0
    }
6447
6448
1.16M
    handler();
6449
1.16M
    return begin;
6450
1.16M
}
6451
6452
template <typename CharT>
6453
constexpr presentation_type parse_presentation_type(CharT type)
6454
8.68M
{
6455
8.68M
    switch (type) {
6456
225k
        case 'b':
6457
365k
        case 'B':
6458
365k
            return presentation_type::int_binary;
6459
749k
        case 'd':
6460
749k
            return presentation_type::int_decimal;
6461
1.03M
        case 'i':
6462
1.03M
            return presentation_type::int_generic;
6463
266
        case 'u':
6464
266
            return presentation_type::int_unsigned_decimal;
6465
353k
        case 'o':
6466
353k
            return presentation_type::int_octal;
6467
845k
        case 'x':
6468
845k
        case 'X':
6469
845k
            return presentation_type::int_hex;
6470
100
        case 'r':
6471
186
        case 'R':
6472
186
            return presentation_type::int_arbitrary_base;
6473
1.57M
        case 'a':
6474
1.57M
        case 'A':
6475
1.57M
            return presentation_type::float_hex;
6476
189k
        case 'e':
6477
189k
        case 'E':
6478
189k
            return presentation_type::float_scientific;
6479
753k
        case 'f':
6480
753k
        case 'F':
6481
753k
            return presentation_type::float_fixed;
6482
1.23M
        case 'g':
6483
1.23M
        case 'G':
6484
1.23M
            return presentation_type::float_general;
6485
1.25M
        case 's':
6486
1.25M
            return presentation_type::string;
6487
20.8k
        case 'c':
6488
20.8k
            return presentation_type::character;
6489
68
        case '?':
6490
68
            return presentation_type::escaped_character;
6491
166
        case 'p':
6492
166
            return presentation_type::pointer;
6493
0
        case '[':
6494
0
        case '/':
6495
            // Should be handled by parse_presentation_set and
6496
            // parse_presentation_regex
6497
0
            SCN_EXPECT(false);
6498
0
            SCN_UNREACHABLE;
6499
302k
        default:
6500
302k
            return presentation_type::none;
6501
8.68M
    }
6502
8.68M
}
scn::v3::detail::presentation_type scn::v3::detail::parse_presentation_type<char>(char)
Line
Count
Source
6454
6.26M
{
6455
6.26M
    switch (type) {
6456
131k
        case 'b':
6457
177k
        case 'B':
6458
177k
            return presentation_type::int_binary;
6459
654k
        case 'd':
6460
654k
            return presentation_type::int_decimal;
6461
943k
        case 'i':
6462
943k
            return presentation_type::int_generic;
6463
70
        case 'u':
6464
70
            return presentation_type::int_unsigned_decimal;
6465
259k
        case 'o':
6466
259k
            return presentation_type::int_octal;
6467
750k
        case 'x':
6468
750k
        case 'X':
6469
750k
            return presentation_type::int_hex;
6470
34
        case 'r':
6471
68
        case 'R':
6472
68
            return presentation_type::int_arbitrary_base;
6473
1.41M
        case 'a':
6474
1.41M
        case 'A':
6475
1.41M
            return presentation_type::float_hex;
6476
88.1k
        case 'e':
6477
88.1k
        case 'E':
6478
88.1k
            return presentation_type::float_scientific;
6479
594k
        case 'f':
6480
595k
        case 'F':
6481
595k
            return presentation_type::float_fixed;
6482
1.08M
        case 'g':
6483
1.08M
        case 'G':
6484
1.08M
            return presentation_type::float_general;
6485
195k
        case 's':
6486
195k
            return presentation_type::string;
6487
7.11k
        case 'c':
6488
7.11k
            return presentation_type::character;
6489
34
        case '?':
6490
34
            return presentation_type::escaped_character;
6491
78
        case 'p':
6492
78
            return presentation_type::pointer;
6493
0
        case '[':
6494
0
        case '/':
6495
            // Should be handled by parse_presentation_set and
6496
            // parse_presentation_regex
6497
0
            SCN_EXPECT(false);
6498
0
            SCN_UNREACHABLE;
6499
101k
        default:
6500
101k
            return presentation_type::none;
6501
6.26M
    }
6502
6.26M
}
scn::v3::detail::presentation_type scn::v3::detail::parse_presentation_type<wchar_t>(wchar_t)
Line
Count
Source
6454
2.41M
{
6455
2.41M
    switch (type) {
6456
93.9k
        case 'b':
6457
187k
        case 'B':
6458
187k
            return presentation_type::int_binary;
6459
94.7k
        case 'd':
6460
94.7k
            return presentation_type::int_decimal;
6461
94.7k
        case 'i':
6462
94.7k
            return presentation_type::int_generic;
6463
196
        case 'u':
6464
196
            return presentation_type::int_unsigned_decimal;
6465
94.3k
        case 'o':
6466
94.3k
            return presentation_type::int_octal;
6467
94.9k
        case 'x':
6468
94.9k
        case 'X':
6469
94.9k
            return presentation_type::int_hex;
6470
66
        case 'r':
6471
118
        case 'R':
6472
118
            return presentation_type::int_arbitrary_base;
6473
160k
        case 'a':
6474
161k
        case 'A':
6475
161k
            return presentation_type::float_hex;
6476
101k
        case 'e':
6477
101k
        case 'E':
6478
101k
            return presentation_type::float_scientific;
6479
158k
        case 'f':
6480
158k
        case 'F':
6481
158k
            return presentation_type::float_fixed;
6482
158k
        case 'g':
6483
158k
        case 'G':
6484
158k
            return presentation_type::float_general;
6485
1.05M
        case 's':
6486
1.05M
            return presentation_type::string;
6487
13.7k
        case 'c':
6488
13.7k
            return presentation_type::character;
6489
34
        case '?':
6490
34
            return presentation_type::escaped_character;
6491
88
        case 'p':
6492
88
            return presentation_type::pointer;
6493
0
        case '[':
6494
0
        case '/':
6495
            // Should be handled by parse_presentation_set and
6496
            // parse_presentation_regex
6497
0
            SCN_EXPECT(false);
6498
0
            SCN_UNREACHABLE;
6499
201k
        default:
6500
201k
            return presentation_type::none;
6501
2.41M
    }
6502
2.41M
}
6503
6504
template <typename CharT>
6505
constexpr bool is_ascii_letter(CharT ch)
6506
10.5M
{
6507
10.5M
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
6508
10.5M
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
6509
10.5M
}
bool scn::v3::detail::is_ascii_letter<char>(char)
Line
Count
Source
6506
8.08M
{
6507
8.08M
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
6508
8.08M
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
6509
8.08M
}
bool scn::v3::detail::is_ascii_letter<wchar_t>(wchar_t)
Line
Count
Source
6506
2.47M
{
6507
2.47M
    return (ch >= CharT{'a'} && ch <= CharT{'z'}) ||
6508
2.47M
           (ch >= CharT{'A'} && ch <= CharT{'Z'});
6509
2.47M
}
6510
6511
template <typename CharT>
6512
constexpr int code_point_length(const CharT* begin, const CharT* end)
6513
2.95M
{
6514
2.95M
    SCN_EXPECT(begin != end);
6515
2.95M
    if constexpr (sizeof(CharT) != 1) {
6516
2.26M
        return 1;
6517
2.26M
    }
6518
2.26M
    else {
6519
2.26M
        const auto lengths =
6520
2.26M
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
6521
2.26M
            "\3\4";
6522
2.26M
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
6523
2.26M
        return len;
6524
2.26M
    }
6525
2.95M
}
int scn::v3::detail::code_point_length<char>(char const*, char const*)
Line
Count
Source
6513
2.26M
{
6514
2.26M
    SCN_EXPECT(begin != end);
6515
2.26M
    if constexpr (sizeof(CharT) != 1) {
6516
2.26M
        return 1;
6517
2.26M
    }
6518
2.26M
    else {
6519
2.26M
        const auto lengths =
6520
2.26M
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
6521
2.26M
            "\3\4";
6522
2.26M
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
6523
2.26M
        return len;
6524
2.26M
    }
6525
2.26M
}
int scn::v3::detail::code_point_length<wchar_t>(wchar_t const*, wchar_t const*)
Line
Count
Source
6513
692k
{
6514
692k
    SCN_EXPECT(begin != end);
6515
692k
    if constexpr (sizeof(CharT) != 1) {
6516
692k
        return 1;
6517
692k
    }
6518
692k
    else {
6519
692k
        const auto lengths =
6520
692k
            "\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\1\0\0\0\0\0\0\0\0\2\2\2\2\3"
6521
692k
            "\3\4";
6522
692k
        const int len = lengths[static_cast<unsigned char>(*begin) >> 3];
6523
692k
        return len;
6524
692k
    }
6525
692k
}
6526
6527
template <typename CharT, typename Handler>
6528
constexpr const CharT* parse_align(const CharT* begin,
6529
                                   const CharT* end,
6530
                                   Handler&& handler)
6531
2.95M
{
6532
2.95M
    SCN_EXPECT(begin != end);
6533
6534
5.90M
    auto check_align = [](wchar_t ch) {
6535
5.90M
        switch (ch) {
6536
5.15k
            case L'<':
6537
5.15k
                return align_type::left;
6538
3.47k
            case L'>':
6539
3.47k
                return align_type::right;
6540
24.1k
            case L'^':
6541
24.1k
                return align_type::center;
6542
5.87M
            default:
6543
5.87M
                return align_type::none;
6544
5.90M
        }
6545
5.90M
    };
impl.cpp:scn::v3::detail::parse_align<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
6534
2.37M
    auto check_align = [](wchar_t ch) {
6535
2.37M
        switch (ch) {
6536
1.91k
            case L'<':
6537
1.91k
                return align_type::left;
6538
3.11k
            case L'>':
6539
3.11k
                return align_type::right;
6540
21.4k
            case L'^':
6541
21.4k
                return align_type::center;
6542
2.35M
            default:
6543
2.35M
                return align_type::none;
6544
2.37M
        }
6545
2.37M
    };
impl.cpp:scn::v3::detail::parse_align<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
6534
2.14M
    auto check_align = [](wchar_t ch) {
6535
2.14M
        switch (ch) {
6536
0
            case L'<':
6537
0
                return align_type::left;
6538
0
            case L'>':
6539
0
                return align_type::right;
6540
0
            case L'^':
6541
0
                return align_type::center;
6542
2.14M
            default:
6543
2.14M
                return align_type::none;
6544
2.14M
        }
6545
2.14M
    };
impl.cpp:scn::v3::detail::parse_align<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
6534
814k
    auto check_align = [](wchar_t ch) {
6535
814k
        switch (ch) {
6536
3.24k
            case L'<':
6537
3.24k
                return align_type::left;
6538
358
            case L'>':
6539
358
                return align_type::right;
6540
2.66k
            case L'^':
6541
2.66k
                return align_type::center;
6542
808k
            default:
6543
808k
                return align_type::none;
6544
814k
        }
6545
814k
    };
impl.cpp:scn::v3::detail::parse_align<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)::{lambda(wchar_t)#1}::operator()(wchar_t) const
Line
Count
Source
6534
569k
    auto check_align = [](wchar_t ch) {
6535
569k
        switch (ch) {
6536
0
            case L'<':
6537
0
                return align_type::left;
6538
0
            case L'>':
6539
0
                return align_type::right;
6540
0
            case L'^':
6541
0
                return align_type::center;
6542
569k
            default:
6543
569k
                return align_type::none;
6544
569k
        }
6545
569k
    };
6546
6547
2.95M
    auto potential_fill_len = code_point_length(begin, end);
6548
2.95M
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
6549
2.95M
                     std::distance(begin, end) < potential_fill_len)) {
6550
42
        handler.on_error("Invalid encoding in fill character");
6551
42
        return begin;
6552
42
    }
6553
6554
2.95M
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
6555
6556
2.95M
    auto potential_fill = std::basic_string_view<CharT>{
6557
2.95M
        begin, static_cast<size_t>(potential_fill_len)};
6558
2.95M
    const auto begin_before_fill = begin;
6559
2.95M
    begin += potential_fill_len;
6560
6561
2.95M
    if (begin == end) {
6562
2.11k
        return begin_before_fill;
6563
2.11k
    }
6564
6565
2.95M
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
6566
2.95M
    const auto begin_after_fill = begin;
6567
2.95M
    ++begin;
6568
6569
2.95M
    if (potential_fill_len == 1) {
6570
2.95M
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
6571
112
            handler.on_error("Invalid fill character '{' in format string");
6572
112
            return begin;
6573
112
        }
6574
2.95M
        if (potential_fill[0] == '[') {
6575
47.1k
            return begin_before_fill;
6576
47.1k
        }
6577
2.95M
    }
6578
6579
2.90M
    if (potential_align_after_fill == align_type::none) {
6580
2.88M
        if (potential_align_on_fill != align_type::none) {
6581
9.24k
            handler.on_align(potential_align_on_fill);
6582
9.24k
            return begin_after_fill;
6583
9.24k
        }
6584
2.87M
        return begin_before_fill;
6585
2.88M
    }
6586
6587
20.5k
    handler.on_fill(potential_fill);
6588
20.5k
    handler.on_align(potential_align_after_fill);
6589
20.5k
    return begin;
6590
2.90M
}
impl.cpp:char const* scn::v3::detail::parse_align<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6531
1.18M
{
6532
1.18M
    SCN_EXPECT(begin != end);
6533
6534
1.18M
    auto check_align = [](wchar_t ch) {
6535
1.18M
        switch (ch) {
6536
1.18M
            case L'<':
6537
1.18M
                return align_type::left;
6538
1.18M
            case L'>':
6539
1.18M
                return align_type::right;
6540
1.18M
            case L'^':
6541
1.18M
                return align_type::center;
6542
1.18M
            default:
6543
1.18M
                return align_type::none;
6544
1.18M
        }
6545
1.18M
    };
6546
6547
1.18M
    auto potential_fill_len = code_point_length(begin, end);
6548
1.18M
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
6549
1.18M
                     std::distance(begin, end) < potential_fill_len)) {
6550
42
        handler.on_error("Invalid encoding in fill character");
6551
42
        return begin;
6552
42
    }
6553
6554
1.18M
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
6555
6556
1.18M
    auto potential_fill = std::basic_string_view<CharT>{
6557
1.18M
        begin, static_cast<size_t>(potential_fill_len)};
6558
1.18M
    const auto begin_before_fill = begin;
6559
1.18M
    begin += potential_fill_len;
6560
6561
1.18M
    if (begin == end) {
6562
1.06k
        return begin_before_fill;
6563
1.06k
    }
6564
6565
1.18M
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
6566
1.18M
    const auto begin_after_fill = begin;
6567
1.18M
    ++begin;
6568
6569
1.18M
    if (potential_fill_len == 1) {
6570
1.18M
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
6571
62
            handler.on_error("Invalid fill character '{' in format string");
6572
62
            return begin;
6573
62
        }
6574
1.18M
        if (potential_fill[0] == '[') {
6575
25.3k
            return begin_before_fill;
6576
25.3k
        }
6577
1.18M
    }
6578
6579
1.16M
    if (potential_align_after_fill == align_type::none) {
6580
1.14M
        if (potential_align_on_fill != align_type::none) {
6581
7.29k
            handler.on_align(potential_align_on_fill);
6582
7.29k
            return begin_after_fill;
6583
7.29k
        }
6584
1.13M
        return begin_before_fill;
6585
1.14M
    }
6586
6587
17.6k
    handler.on_fill(potential_fill);
6588
17.6k
    handler.on_align(potential_align_after_fill);
6589
17.6k
    return begin;
6590
1.16M
}
impl.cpp:char const* scn::v3::detail::parse_align<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Line
Count
Source
6531
1.07M
{
6532
1.07M
    SCN_EXPECT(begin != end);
6533
6534
1.07M
    auto check_align = [](wchar_t ch) {
6535
1.07M
        switch (ch) {
6536
1.07M
            case L'<':
6537
1.07M
                return align_type::left;
6538
1.07M
            case L'>':
6539
1.07M
                return align_type::right;
6540
1.07M
            case L'^':
6541
1.07M
                return align_type::center;
6542
1.07M
            default:
6543
1.07M
                return align_type::none;
6544
1.07M
        }
6545
1.07M
    };
6546
6547
1.07M
    auto potential_fill_len = code_point_length(begin, end);
6548
1.07M
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
6549
1.07M
                     std::distance(begin, end) < potential_fill_len)) {
6550
0
        handler.on_error("Invalid encoding in fill character");
6551
0
        return begin;
6552
0
    }
6553
6554
1.07M
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
6555
6556
1.07M
    auto potential_fill = std::basic_string_view<CharT>{
6557
1.07M
        begin, static_cast<size_t>(potential_fill_len)};
6558
1.07M
    const auto begin_before_fill = begin;
6559
1.07M
    begin += potential_fill_len;
6560
6561
1.07M
    if (begin == end) {
6562
0
        return begin_before_fill;
6563
0
    }
6564
6565
1.07M
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
6566
1.07M
    const auto begin_after_fill = begin;
6567
1.07M
    ++begin;
6568
6569
1.07M
    if (potential_fill_len == 1) {
6570
1.07M
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
6571
0
            handler.on_error("Invalid fill character '{' in format string");
6572
0
            return begin;
6573
0
        }
6574
1.07M
        if (potential_fill[0] == '[') {
6575
3.25k
            return begin_before_fill;
6576
3.25k
        }
6577
1.07M
    }
6578
6579
1.06M
    if (potential_align_after_fill == align_type::none) {
6580
1.06M
        if (potential_align_on_fill != align_type::none) {
6581
0
            handler.on_align(potential_align_on_fill);
6582
0
            return begin_after_fill;
6583
0
        }
6584
1.06M
        return begin_before_fill;
6585
1.06M
    }
6586
6587
0
    handler.on_fill(potential_fill);
6588
0
    handler.on_align(potential_align_after_fill);
6589
0
    return begin;
6590
1.06M
}
impl.cpp:wchar_t const* scn::v3::detail::parse_align<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6531
408k
{
6532
408k
    SCN_EXPECT(begin != end);
6533
6534
408k
    auto check_align = [](wchar_t ch) {
6535
408k
        switch (ch) {
6536
408k
            case L'<':
6537
408k
                return align_type::left;
6538
408k
            case L'>':
6539
408k
                return align_type::right;
6540
408k
            case L'^':
6541
408k
                return align_type::center;
6542
408k
            default:
6543
408k
                return align_type::none;
6544
408k
        }
6545
408k
    };
6546
6547
408k
    auto potential_fill_len = code_point_length(begin, end);
6548
408k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
6549
408k
                     std::distance(begin, end) < potential_fill_len)) {
6550
0
        handler.on_error("Invalid encoding in fill character");
6551
0
        return begin;
6552
0
    }
6553
6554
408k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
6555
6556
408k
    auto potential_fill = std::basic_string_view<CharT>{
6557
408k
        begin, static_cast<size_t>(potential_fill_len)};
6558
408k
    const auto begin_before_fill = begin;
6559
408k
    begin += potential_fill_len;
6560
6561
408k
    if (begin == end) {
6562
1.05k
        return begin_before_fill;
6563
1.05k
    }
6564
6565
406k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
6566
406k
    const auto begin_after_fill = begin;
6567
406k
    ++begin;
6568
6569
406k
    if (potential_fill_len == 1) {
6570
406k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
6571
50
            handler.on_error("Invalid fill character '{' in format string");
6572
50
            return begin;
6573
50
        }
6574
406k
        if (potential_fill[0] == '[') {
6575
13.9k
            return begin_before_fill;
6576
13.9k
        }
6577
406k
    }
6578
6579
392k
    if (potential_align_after_fill == align_type::none) {
6580
390k
        if (potential_align_on_fill != align_type::none) {
6581
1.95k
            handler.on_align(potential_align_on_fill);
6582
1.95k
            return begin_after_fill;
6583
1.95k
        }
6584
388k
        return begin_before_fill;
6585
390k
    }
6586
6587
2.86k
    handler.on_fill(potential_fill);
6588
2.86k
    handler.on_align(potential_align_after_fill);
6589
2.86k
    return begin;
6590
392k
}
impl.cpp:wchar_t const* scn::v3::detail::parse_align<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
Line
Count
Source
6531
284k
{
6532
284k
    SCN_EXPECT(begin != end);
6533
6534
284k
    auto check_align = [](wchar_t ch) {
6535
284k
        switch (ch) {
6536
284k
            case L'<':
6537
284k
                return align_type::left;
6538
284k
            case L'>':
6539
284k
                return align_type::right;
6540
284k
            case L'^':
6541
284k
                return align_type::center;
6542
284k
            default:
6543
284k
                return align_type::none;
6544
284k
        }
6545
284k
    };
6546
6547
284k
    auto potential_fill_len = code_point_length(begin, end);
6548
284k
    if (SCN_UNLIKELY(potential_fill_len == 0 ||
6549
284k
                     std::distance(begin, end) < potential_fill_len)) {
6550
0
        handler.on_error("Invalid encoding in fill character");
6551
0
        return begin;
6552
0
    }
6553
6554
284k
    auto potential_align_on_fill = check_align(static_cast<wchar_t>(*begin));
6555
6556
284k
    auto potential_fill = std::basic_string_view<CharT>{
6557
284k
        begin, static_cast<size_t>(potential_fill_len)};
6558
284k
    const auto begin_before_fill = begin;
6559
284k
    begin += potential_fill_len;
6560
6561
284k
    if (begin == end) {
6562
0
        return begin_before_fill;
6563
0
    }
6564
6565
284k
    auto potential_align_after_fill = check_align(static_cast<wchar_t>(*begin));
6566
284k
    const auto begin_after_fill = begin;
6567
284k
    ++begin;
6568
6569
284k
    if (potential_fill_len == 1) {
6570
284k
        if (SCN_UNLIKELY(potential_fill[0] == '{')) {
6571
0
            handler.on_error("Invalid fill character '{' in format string");
6572
0
            return begin;
6573
0
        }
6574
284k
        if (potential_fill[0] == '[') {
6575
4.56k
            return begin_before_fill;
6576
4.56k
        }
6577
284k
    }
6578
6579
280k
    if (potential_align_after_fill == align_type::none) {
6580
280k
        if (potential_align_on_fill != align_type::none) {
6581
0
            handler.on_align(potential_align_on_fill);
6582
0
            return begin_after_fill;
6583
0
        }
6584
280k
        return begin_before_fill;
6585
280k
    }
6586
6587
0
    handler.on_fill(potential_fill);
6588
0
    handler.on_align(potential_align_after_fill);
6589
0
    return begin;
6590
280k
}
6591
6592
template <typename CharT, typename Handler>
6593
constexpr const CharT* parse_width(const CharT* begin,
6594
                                   const CharT* end,
6595
                                   Handler&& handler)
6596
2.95M
{
6597
2.95M
    SCN_EXPECT(begin != end);
6598
6599
2.95M
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6600
128k
        int width = parse_simple_int(begin, end);
6601
128k
        if (SCN_LIKELY(width != -1)) {
6602
128k
            handler.on_width(width);
6603
128k
        }
6604
34
        else {
6605
34
            handler.on_error("Invalid field width");
6606
34
            return begin;
6607
34
        }
6608
128k
    }
6609
2.95M
    return begin;
6610
2.95M
}
impl.cpp:char const* scn::v3::detail::parse_width<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6596
1.18M
{
6597
1.18M
    SCN_EXPECT(begin != end);
6598
6599
1.18M
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6600
17.1k
        int width = parse_simple_int(begin, end);
6601
17.1k
        if (SCN_LIKELY(width != -1)) {
6602
17.0k
            handler.on_width(width);
6603
17.0k
        }
6604
34
        else {
6605
34
            handler.on_error("Invalid field width");
6606
34
            return begin;
6607
34
        }
6608
17.1k
    }
6609
1.18M
    return begin;
6610
1.18M
}
impl.cpp:char const* scn::v3::detail::parse_width<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Line
Count
Source
6596
1.07M
{
6597
1.07M
    SCN_EXPECT(begin != end);
6598
6599
1.07M
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6600
4.49k
        int width = parse_simple_int(begin, end);
6601
4.49k
        if (SCN_LIKELY(width != -1)) {
6602
4.49k
            handler.on_width(width);
6603
4.49k
        }
6604
0
        else {
6605
0
            handler.on_error("Invalid field width");
6606
0
            return begin;
6607
0
        }
6608
4.49k
    }
6609
1.07M
    return begin;
6610
1.07M
}
impl.cpp:wchar_t const* scn::v3::detail::parse_width<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6596
407k
{
6597
407k
    SCN_EXPECT(begin != end);
6598
6599
407k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6600
98.2k
        int width = parse_simple_int(begin, end);
6601
98.2k
        if (SCN_LIKELY(width != -1)) {
6602
98.2k
            handler.on_width(width);
6603
98.2k
        }
6604
0
        else {
6605
0
            handler.on_error("Invalid field width");
6606
0
            return begin;
6607
0
        }
6608
98.2k
    }
6609
407k
    return begin;
6610
407k
}
impl.cpp:wchar_t const* scn::v3::detail::parse_width<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
Line
Count
Source
6596
284k
{
6597
284k
    SCN_EXPECT(begin != end);
6598
6599
284k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6600
8.98k
        int width = parse_simple_int(begin, end);
6601
8.98k
        if (SCN_LIKELY(width != -1)) {
6602
8.98k
            handler.on_width(width);
6603
8.98k
        }
6604
0
        else {
6605
0
            handler.on_error("Invalid field width");
6606
0
            return begin;
6607
0
        }
6608
8.98k
    }
6609
284k
    return begin;
6610
284k
}
6611
6612
template <typename CharT, typename Handler>
6613
constexpr const CharT* parse_precision(const CharT* begin,
6614
                                       const CharT* end,
6615
                                       Handler&& handler)
6616
24.2k
{
6617
24.2k
    SCN_EXPECT(begin != end);
6618
6619
24.2k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6620
24.0k
        int prec = parse_simple_int(begin, end);
6621
24.0k
        if (SCN_LIKELY(prec != -1)) {
6622
23.9k
            handler.on_precision(prec);
6623
23.9k
        }
6624
48
        else {
6625
48
            handler.on_error("Invalid field precision");
6626
48
            return begin;
6627
48
        }
6628
24.0k
    }
6629
24.2k
    return begin;
6630
24.2k
}
impl.cpp:char const* scn::v3::detail::parse_precision<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6616
19.7k
{
6617
19.7k
    SCN_EXPECT(begin != end);
6618
6619
19.7k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6620
19.5k
        int prec = parse_simple_int(begin, end);
6621
19.5k
        if (SCN_LIKELY(prec != -1)) {
6622
19.5k
            handler.on_precision(prec);
6623
19.5k
        }
6624
48
        else {
6625
48
            handler.on_error("Invalid field precision");
6626
48
            return begin;
6627
48
        }
6628
19.5k
    }
6629
19.6k
    return begin;
6630
19.7k
}
Unexecuted instantiation: impl.cpp:char const* scn::v3::detail::parse_precision<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
impl.cpp:wchar_t const* scn::v3::detail::parse_precision<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6616
4.56k
{
6617
4.56k
    SCN_EXPECT(begin != end);
6618
6619
4.56k
    if (*begin >= CharT{'0'} && *begin <= CharT{'9'}) {
6620
4.43k
        int prec = parse_simple_int(begin, end);
6621
4.43k
        if (SCN_LIKELY(prec != -1)) {
6622
4.43k
            handler.on_precision(prec);
6623
4.43k
        }
6624
0
        else {
6625
0
            handler.on_error("Invalid field precision");
6626
0
            return begin;
6627
0
        }
6628
4.43k
    }
6629
4.56k
    return begin;
6630
4.56k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v3::detail::parse_precision<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
6631
6632
template <typename CharT, typename SpecHandler>
6633
constexpr char32_t parse_presentation_set_code_point(const CharT*& begin,
6634
                                                     const CharT* end,
6635
                                                     SpecHandler&& handler)
6636
8.61M
{
6637
8.61M
    SCN_EXPECT(begin != end);
6638
6639
8.61M
    auto len = code_point_length_by_starting_code_unit(*begin);
6640
8.61M
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6641
96
        handler.on_error("Invalid encoding in format string");
6642
96
        return invalid_code_point;
6643
96
    }
6644
6645
8.61M
    const auto cp =
6646
8.61M
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6647
8.61M
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6648
258
        handler.on_error("Invalid encoding in format string");
6649
258
        return invalid_code_point;
6650
258
    }
6651
6652
8.61M
    begin += len;
6653
8.61M
    return cp;
6654
8.61M
}
char32_t scn::v3::detail::parse_presentation_set_code_point<char, scn::v3::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v3::impl::nonascii_specs_handler&)
Line
Count
Source
6636
2.11M
{
6637
2.11M
    SCN_EXPECT(begin != end);
6638
6639
2.11M
    auto len = code_point_length_by_starting_code_unit(*begin);
6640
2.11M
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6641
0
        handler.on_error("Invalid encoding in format string");
6642
0
        return invalid_code_point;
6643
0
    }
6644
6645
2.11M
    const auto cp =
6646
2.11M
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6647
2.11M
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6648
0
        handler.on_error("Invalid encoding in format string");
6649
0
        return invalid_code_point;
6650
0
    }
6651
6652
2.11M
    begin += len;
6653
2.11M
    return cp;
6654
2.11M
}
char32_t scn::v3::detail::parse_presentation_set_code_point<wchar_t, scn::v3::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v3::impl::nonascii_specs_handler&)
Line
Count
Source
6636
13.9k
{
6637
13.9k
    SCN_EXPECT(begin != end);
6638
6639
13.9k
    auto len = code_point_length_by_starting_code_unit(*begin);
6640
13.9k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6641
0
        handler.on_error("Invalid encoding in format string");
6642
0
        return invalid_code_point;
6643
0
    }
6644
6645
13.9k
    const auto cp =
6646
13.9k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6647
13.9k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6648
0
        handler.on_error("Invalid encoding in format string");
6649
0
        return invalid_code_point;
6650
0
    }
6651
6652
13.9k
    begin += len;
6653
13.9k
    return cp;
6654
13.9k
}
impl.cpp:char32_t scn::v3::detail::parse_presentation_set_code_point<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6636
6.36M
{
6637
6.36M
    SCN_EXPECT(begin != end);
6638
6639
6.36M
    auto len = code_point_length_by_starting_code_unit(*begin);
6640
6.36M
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6641
96
        handler.on_error("Invalid encoding in format string");
6642
96
        return invalid_code_point;
6643
96
    }
6644
6645
6.36M
    const auto cp =
6646
6.36M
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6647
6.36M
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6648
86
        handler.on_error("Invalid encoding in format string");
6649
86
        return invalid_code_point;
6650
86
    }
6651
6652
6.36M
    begin += len;
6653
6.36M
    return cp;
6654
6.36M
}
impl.cpp:char32_t scn::v3::detail::parse_presentation_set_code_point<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Line
Count
Source
6636
13.0k
{
6637
13.0k
    SCN_EXPECT(begin != end);
6638
6639
13.0k
    auto len = code_point_length_by_starting_code_unit(*begin);
6640
13.0k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6641
0
        handler.on_error("Invalid encoding in format string");
6642
0
        return invalid_code_point;
6643
0
    }
6644
6645
13.0k
    const auto cp =
6646
13.0k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6647
13.0k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6648
0
        handler.on_error("Invalid encoding in format string");
6649
0
        return invalid_code_point;
6650
0
    }
6651
6652
13.0k
    begin += len;
6653
13.0k
    return cp;
6654
13.0k
}
impl.cpp:char32_t scn::v3::detail::parse_presentation_set_code_point<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6636
91.3k
{
6637
91.3k
    SCN_EXPECT(begin != end);
6638
6639
91.3k
    auto len = code_point_length_by_starting_code_unit(*begin);
6640
91.3k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6641
0
        handler.on_error("Invalid encoding in format string");
6642
0
        return invalid_code_point;
6643
0
    }
6644
6645
91.3k
    const auto cp =
6646
91.3k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6647
91.3k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6648
172
        handler.on_error("Invalid encoding in format string");
6649
172
        return invalid_code_point;
6650
172
    }
6651
6652
91.2k
    begin += len;
6653
91.2k
    return cp;
6654
91.3k
}
impl.cpp:char32_t scn::v3::detail::parse_presentation_set_code_point<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
Line
Count
Source
6636
18.2k
{
6637
18.2k
    SCN_EXPECT(begin != end);
6638
6639
18.2k
    auto len = code_point_length_by_starting_code_unit(*begin);
6640
18.2k
    if (SCN_UNLIKELY(len == 0 || static_cast<size_t>(end - begin) < len)) {
6641
0
        handler.on_error("Invalid encoding in format string");
6642
0
        return invalid_code_point;
6643
0
    }
6644
6645
18.2k
    const auto cp =
6646
18.2k
        decode_code_point_exhaustive(std::basic_string_view<CharT>{begin, len});
6647
18.2k
    if (SCN_UNLIKELY(cp >= invalid_code_point)) {
6648
0
        handler.on_error("Invalid encoding in format string");
6649
0
        return invalid_code_point;
6650
0
    }
6651
6652
18.2k
    begin += len;
6653
18.2k
    return cp;
6654
18.2k
}
6655
6656
template <typename CharT, typename SpecHandler>
6657
constexpr void parse_presentation_set_literal(const CharT*& begin,
6658
                                              const CharT* end,
6659
                                              SpecHandler&& handler)
6660
8.51M
{
6661
8.51M
    SCN_EXPECT(begin != end);
6662
6663
8.51M
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6664
8.51M
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6665
250
        return;
6666
250
    }
6667
6668
8.51M
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6669
8.51M
        *(begin + 1) != CharT{']'}) {
6670
95.3k
        ++begin;
6671
6672
95.3k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6673
95.3k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6674
104
            return;
6675
104
        }
6676
6677
95.2k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6678
            // clang-format off
6679
80
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6680
            // clang-format on
6681
80
            return;
6682
80
        }
6683
6684
95.1k
        handler.on_charset_range(cp_first, cp_second + 1);
6685
95.1k
        return;
6686
95.2k
    }
6687
6688
8.42M
    handler.on_charset_single(cp_first);
6689
8.42M
}
void scn::v3::detail::parse_presentation_set_literal<char, scn::v3::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v3::impl::nonascii_specs_handler&)
Line
Count
Source
6660
2.09M
{
6661
2.09M
    SCN_EXPECT(begin != end);
6662
6663
2.09M
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6664
2.09M
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6665
0
        return;
6666
0
    }
6667
6668
2.09M
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6669
2.09M
        *(begin + 1) != CharT{']'}) {
6670
11.3k
        ++begin;
6671
6672
11.3k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6673
11.3k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6674
0
            return;
6675
0
        }
6676
6677
11.3k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6678
            // clang-format off
6679
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6680
            // clang-format on
6681
0
            return;
6682
0
        }
6683
6684
11.3k
        handler.on_charset_range(cp_first, cp_second + 1);
6685
11.3k
        return;
6686
11.3k
    }
6687
6688
2.08M
    handler.on_charset_single(cp_first);
6689
2.08M
}
void scn::v3::detail::parse_presentation_set_literal<wchar_t, scn::v3::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v3::impl::nonascii_specs_handler&)
Line
Count
Source
6660
13.7k
{
6661
13.7k
    SCN_EXPECT(begin != end);
6662
6663
13.7k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6664
13.7k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6665
0
        return;
6666
0
    }
6667
6668
13.7k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6669
13.7k
        *(begin + 1) != CharT{']'}) {
6670
228
        ++begin;
6671
6672
228
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6673
228
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6674
0
            return;
6675
0
        }
6676
6677
228
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6678
            // clang-format off
6679
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6680
            // clang-format on
6681
0
            return;
6682
0
        }
6683
6684
228
        handler.on_charset_range(cp_first, cp_second + 1);
6685
228
        return;
6686
228
    }
6687
6688
13.5k
    handler.on_charset_single(cp_first);
6689
13.5k
}
impl.cpp:void scn::v3::detail::parse_presentation_set_literal<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6660
6.31M
{
6661
6.31M
    SCN_EXPECT(begin != end);
6662
6663
6.31M
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6664
6.31M
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6665
112
        return;
6666
112
    }
6667
6668
6.31M
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6669
6.31M
        *(begin + 1) != CharT{']'}) {
6670
48.7k
        ++begin;
6671
6672
48.7k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6673
48.7k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6674
70
            return;
6675
70
        }
6676
6677
48.7k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6678
            // clang-format off
6679
34
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6680
            // clang-format on
6681
34
            return;
6682
34
        }
6683
6684
48.6k
        handler.on_charset_range(cp_first, cp_second + 1);
6685
48.6k
        return;
6686
48.7k
    }
6687
6688
6.26M
    handler.on_charset_single(cp_first);
6689
6.26M
}
impl.cpp:void scn::v3::detail::parse_presentation_set_literal<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Line
Count
Source
6660
6.51k
{
6661
6.51k
    SCN_EXPECT(begin != end);
6662
6663
6.51k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6664
6.51k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6665
0
        return;
6666
0
    }
6667
6668
6.51k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6669
6.51k
        *(begin + 1) != CharT{']'}) {
6670
6.51k
        ++begin;
6671
6672
6.51k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6673
6.51k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6674
0
            return;
6675
0
        }
6676
6677
6.51k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6678
            // clang-format off
6679
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6680
            // clang-format on
6681
0
            return;
6682
0
        }
6683
6684
6.51k
        handler.on_charset_range(cp_first, cp_second + 1);
6685
6.51k
        return;
6686
6.51k
    }
6687
6688
0
    handler.on_charset_single(cp_first);
6689
0
}
impl.cpp:void scn::v3::detail::parse_presentation_set_literal<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6660
71.9k
{
6661
71.9k
    SCN_EXPECT(begin != end);
6662
6663
71.9k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6664
71.9k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6665
138
        return;
6666
138
    }
6667
6668
71.8k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6669
71.8k
        *(begin + 1) != CharT{']'}) {
6670
19.3k
        ++begin;
6671
6672
19.3k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6673
19.3k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6674
34
            return;
6675
34
        }
6676
6677
19.3k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6678
            // clang-format off
6679
46
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6680
            // clang-format on
6681
46
            return;
6682
46
        }
6683
6684
19.3k
        handler.on_charset_range(cp_first, cp_second + 1);
6685
19.3k
        return;
6686
19.3k
    }
6687
6688
52.4k
    handler.on_charset_single(cp_first);
6689
52.4k
}
impl.cpp:void scn::v3::detail::parse_presentation_set_literal<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
Line
Count
Source
6660
9.13k
{
6661
9.13k
    SCN_EXPECT(begin != end);
6662
6663
9.13k
    auto cp_first = parse_presentation_set_code_point(begin, end, handler);
6664
9.13k
    if (SCN_UNLIKELY(cp_first >= invalid_code_point)) {
6665
0
        return;
6666
0
    }
6667
6668
9.13k
    if (begin != end && *begin == CharT{'-'} && (begin + 1) != end &&
6669
9.13k
        *(begin + 1) != CharT{']'}) {
6670
9.13k
        ++begin;
6671
6672
9.13k
        auto cp_second = parse_presentation_set_code_point(begin, end, handler);
6673
9.13k
        if (SCN_UNLIKELY(cp_second >= invalid_code_point)) {
6674
0
            return;
6675
0
        }
6676
6677
9.13k
        if (SCN_UNLIKELY(cp_second < cp_first)) {
6678
            // clang-format off
6679
0
            handler.on_error("Invalid range in [character set] format string argument: Range end before the beginning");
6680
            // clang-format on
6681
0
            return;
6682
0
        }
6683
6684
9.13k
        handler.on_charset_range(cp_first, cp_second + 1);
6685
9.13k
        return;
6686
9.13k
    }
6687
6688
0
    handler.on_charset_single(cp_first);
6689
0
}
6690
6691
template <typename CharT, typename SpecHandler>
6692
constexpr std::basic_string_view<CharT> parse_presentation_set(
6693
    const CharT*& begin,
6694
    const CharT* end,
6695
    SpecHandler&& handler)
6696
63.9k
{
6697
63.9k
    SCN_EXPECT(begin != end);
6698
63.9k
    SCN_EXPECT(*begin == CharT{'['});
6699
6700
63.9k
    auto start = begin;
6701
63.9k
    ++begin;
6702
6703
63.9k
    if (SCN_UNLIKELY(begin == end)) {
6704
        // clang-format off
6705
82
        handler.on_error("Unexpected end of [character set] specifier in format string");
6706
        // clang-format on
6707
82
        return {};
6708
82
    }
6709
63.8k
    if (*begin == CharT{'^'}) {
6710
6.11k
        handler.on_charset_inverted();
6711
6.11k
        ++begin;
6712
6.11k
        if (SCN_UNLIKELY(begin == end)) {
6713
            // clang-format off
6714
82
            handler.on_error("Unexpected end of [character set] specifier in format string");
6715
            // clang-format on
6716
82
            return {};
6717
82
        }
6718
6.02k
        if (*begin == CharT{']'}) {
6719
88
            handler.on_charset_single(char32_t{']'});
6720
88
            ++begin;
6721
88
        }
6722
6.02k
    }
6723
57.7k
    else if (*begin == CharT{']'}) {
6724
68
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6725
68
    }
6726
6727
8.58M
    while (begin != end) {
6728
8.58M
        if (SCN_UNLIKELY(!handler)) {
6729
404
            break;
6730
404
        }
6731
6732
8.58M
        if (*begin == CharT{']'}) {
6733
62.3k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6734
62.3k
        }
6735
6736
8.51M
        parse_presentation_set_literal(begin, end, handler);
6737
8.51M
    }
6738
6739
1.37k
    SCN_UNLIKELY_ATTR
6740
1.37k
    handler.on_error("Invalid [character set] specifier in format string");
6741
1.37k
    return {};
6742
63.6k
}
std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::parse_presentation_set<char, scn::v3::impl::nonascii_specs_handler&>(char const*&, char const*, scn::v3::impl::nonascii_specs_handler&)
Line
Count
Source
6696
7.48k
{
6697
7.48k
    SCN_EXPECT(begin != end);
6698
7.48k
    SCN_EXPECT(*begin == CharT{'['});
6699
6700
7.48k
    auto start = begin;
6701
7.48k
    ++begin;
6702
6703
7.48k
    if (SCN_UNLIKELY(begin == end)) {
6704
        // clang-format off
6705
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
6706
        // clang-format on
6707
0
        return {};
6708
0
    }
6709
7.48k
    if (*begin == CharT{'^'}) {
6710
618
        handler.on_charset_inverted();
6711
618
        ++begin;
6712
618
        if (SCN_UNLIKELY(begin == end)) {
6713
            // clang-format off
6714
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
6715
            // clang-format on
6716
0
            return {};
6717
0
        }
6718
618
        if (*begin == CharT{']'}) {
6719
6
            handler.on_charset_single(char32_t{']'});
6720
6
            ++begin;
6721
6
        }
6722
618
    }
6723
6.87k
    else if (*begin == CharT{']'}) {
6724
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6725
0
    }
6726
6727
2.10M
    while (begin != end) {
6728
2.10M
        if (SCN_UNLIKELY(!handler)) {
6729
0
            break;
6730
0
        }
6731
6732
2.10M
        if (*begin == CharT{']'}) {
6733
7.48k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6734
7.48k
        }
6735
6736
2.09M
        parse_presentation_set_literal(begin, end, handler);
6737
2.09M
    }
6738
6739
0
    SCN_UNLIKELY_ATTR
6740
0
    handler.on_error("Invalid [character set] specifier in format string");
6741
0
    return {};
6742
7.48k
}
std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::parse_presentation_set<wchar_t, scn::v3::impl::nonascii_specs_handler&>(wchar_t const*&, wchar_t const*, scn::v3::impl::nonascii_specs_handler&)
Line
Count
Source
6696
924
{
6697
924
    SCN_EXPECT(begin != end);
6698
924
    SCN_EXPECT(*begin == CharT{'['});
6699
6700
924
    auto start = begin;
6701
924
    ++begin;
6702
6703
924
    if (SCN_UNLIKELY(begin == end)) {
6704
        // clang-format off
6705
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
6706
        // clang-format on
6707
0
        return {};
6708
0
    }
6709
924
    if (*begin == CharT{'^'}) {
6710
216
        handler.on_charset_inverted();
6711
216
        ++begin;
6712
216
        if (SCN_UNLIKELY(begin == end)) {
6713
            // clang-format off
6714
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
6715
            // clang-format on
6716
0
            return {};
6717
0
        }
6718
216
        if (*begin == CharT{']'}) {
6719
0
            handler.on_charset_single(char32_t{']'});
6720
0
            ++begin;
6721
0
        }
6722
216
    }
6723
708
    else if (*begin == CharT{']'}) {
6724
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6725
0
    }
6726
6727
14.6k
    while (begin != end) {
6728
14.6k
        if (SCN_UNLIKELY(!handler)) {
6729
0
            break;
6730
0
        }
6731
6732
14.6k
        if (*begin == CharT{']'}) {
6733
924
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6734
924
        }
6735
6736
13.7k
        parse_presentation_set_literal(begin, end, handler);
6737
13.7k
    }
6738
6739
0
    SCN_UNLIKELY_ATTR
6740
0
    handler.on_error("Invalid [character set] specifier in format string");
6741
0
    return {};
6742
924
}
impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::parse_presentation_set<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6696
33.5k
{
6697
33.5k
    SCN_EXPECT(begin != end);
6698
33.5k
    SCN_EXPECT(*begin == CharT{'['});
6699
6700
33.5k
    auto start = begin;
6701
33.5k
    ++begin;
6702
6703
33.5k
    if (SCN_UNLIKELY(begin == end)) {
6704
        // clang-format off
6705
42
        handler.on_error("Unexpected end of [character set] specifier in format string");
6706
        // clang-format on
6707
42
        return {};
6708
42
    }
6709
33.4k
    if (*begin == CharT{'^'}) {
6710
3.81k
        handler.on_charset_inverted();
6711
3.81k
        ++begin;
6712
3.81k
        if (SCN_UNLIKELY(begin == end)) {
6713
            // clang-format off
6714
34
            handler.on_error("Unexpected end of [character set] specifier in format string");
6715
            // clang-format on
6716
34
            return {};
6717
34
        }
6718
3.77k
        if (*begin == CharT{']'}) {
6719
52
            handler.on_charset_single(char32_t{']'});
6720
52
            ++begin;
6721
52
        }
6722
3.77k
    }
6723
29.6k
    else if (*begin == CharT{']'}) {
6724
34
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6725
34
    }
6726
6727
6.35M
    while (begin != end) {
6728
6.35M
        if (SCN_UNLIKELY(!handler)) {
6729
224
            break;
6730
224
        }
6731
6732
6.35M
        if (*begin == CharT{']'}) {
6733
32.7k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6734
32.7k
        }
6735
6736
6.31M
        parse_presentation_set_literal(begin, end, handler);
6737
6.31M
    }
6738
6739
708
    SCN_UNLIKELY_ATTR
6740
708
    handler.on_error("Invalid [character set] specifier in format string");
6741
708
    return {};
6742
33.4k
}
impl.cpp:std::__1::basic_string_view<char, std::__1::char_traits<char> > scn::v3::detail::parse_presentation_set<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Line
Count
Source
6696
3.25k
{
6697
3.25k
    SCN_EXPECT(begin != end);
6698
3.25k
    SCN_EXPECT(*begin == CharT{'['});
6699
6700
3.25k
    auto start = begin;
6701
3.25k
    ++begin;
6702
6703
3.25k
    if (SCN_UNLIKELY(begin == end)) {
6704
        // clang-format off
6705
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
6706
        // clang-format on
6707
0
        return {};
6708
0
    }
6709
3.25k
    if (*begin == CharT{'^'}) {
6710
0
        handler.on_charset_inverted();
6711
0
        ++begin;
6712
0
        if (SCN_UNLIKELY(begin == end)) {
6713
            // clang-format off
6714
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
6715
            // clang-format on
6716
0
            return {};
6717
0
        }
6718
0
        if (*begin == CharT{']'}) {
6719
0
            handler.on_charset_single(char32_t{']'});
6720
0
            ++begin;
6721
0
        }
6722
0
    }
6723
3.25k
    else if (*begin == CharT{']'}) {
6724
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6725
0
    }
6726
6727
9.76k
    while (begin != end) {
6728
9.76k
        if (SCN_UNLIKELY(!handler)) {
6729
0
            break;
6730
0
        }
6731
6732
9.76k
        if (*begin == CharT{']'}) {
6733
3.25k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6734
3.25k
        }
6735
6736
6.51k
        parse_presentation_set_literal(begin, end, handler);
6737
6.51k
    }
6738
6739
0
    SCN_UNLIKELY_ATTR
6740
0
    handler.on_error("Invalid [character set] specifier in format string");
6741
0
    return {};
6742
3.25k
}
impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::parse_presentation_set<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6696
14.1k
{
6697
14.1k
    SCN_EXPECT(begin != end);
6698
14.1k
    SCN_EXPECT(*begin == CharT{'['});
6699
6700
14.1k
    auto start = begin;
6701
14.1k
    ++begin;
6702
6703
14.1k
    if (SCN_UNLIKELY(begin == end)) {
6704
        // clang-format off
6705
40
        handler.on_error("Unexpected end of [character set] specifier in format string");
6706
        // clang-format on
6707
40
        return {};
6708
40
    }
6709
14.1k
    if (*begin == CharT{'^'}) {
6710
1.46k
        handler.on_charset_inverted();
6711
1.46k
        ++begin;
6712
1.46k
        if (SCN_UNLIKELY(begin == end)) {
6713
            // clang-format off
6714
48
            handler.on_error("Unexpected end of [character set] specifier in format string");
6715
            // clang-format on
6716
48
            return {};
6717
48
        }
6718
1.41k
        if (*begin == CharT{']'}) {
6719
30
            handler.on_charset_single(char32_t{']'});
6720
30
            ++begin;
6721
30
        }
6722
1.41k
    }
6723
12.6k
    else if (*begin == CharT{']'}) {
6724
34
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6725
34
    }
6726
6727
86.0k
    while (begin != end) {
6728
85.5k
        if (SCN_UNLIKELY(!handler)) {
6729
180
            break;
6730
180
        }
6731
6732
85.3k
        if (*begin == CharT{']'}) {
6733
13.3k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6734
13.3k
        }
6735
6736
71.9k
        parse_presentation_set_literal(begin, end, handler);
6737
71.9k
    }
6738
6739
662
    SCN_UNLIKELY_ATTR
6740
662
    handler.on_error("Invalid [character set] specifier in format string");
6741
662
    return {};
6742
14.0k
}
impl.cpp:std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > scn::v3::detail::parse_presentation_set<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
Line
Count
Source
6696
4.56k
{
6697
4.56k
    SCN_EXPECT(begin != end);
6698
4.56k
    SCN_EXPECT(*begin == CharT{'['});
6699
6700
4.56k
    auto start = begin;
6701
4.56k
    ++begin;
6702
6703
4.56k
    if (SCN_UNLIKELY(begin == end)) {
6704
        // clang-format off
6705
0
        handler.on_error("Unexpected end of [character set] specifier in format string");
6706
        // clang-format on
6707
0
        return {};
6708
0
    }
6709
4.56k
    if (*begin == CharT{'^'}) {
6710
0
        handler.on_charset_inverted();
6711
0
        ++begin;
6712
0
        if (SCN_UNLIKELY(begin == end)) {
6713
            // clang-format off
6714
0
            handler.on_error("Unexpected end of [character set] specifier in format string");
6715
            // clang-format on
6716
0
            return {};
6717
0
        }
6718
0
        if (*begin == CharT{']'}) {
6719
0
            handler.on_charset_single(char32_t{']'});
6720
0
            ++begin;
6721
0
        }
6722
0
    }
6723
4.56k
    else if (*begin == CharT{']'}) {
6724
0
        return {start, static_cast<size_t>(std::distance(start, ++begin))};
6725
0
    }
6726
6727
13.6k
    while (begin != end) {
6728
13.6k
        if (SCN_UNLIKELY(!handler)) {
6729
0
            break;
6730
0
        }
6731
6732
13.6k
        if (*begin == CharT{']'}) {
6733
4.56k
            return {start, static_cast<size_t>(std::distance(start, ++begin))};
6734
4.56k
        }
6735
6736
9.13k
        parse_presentation_set_literal(begin, end, handler);
6737
9.13k
    }
6738
6739
0
    SCN_UNLIKELY_ATTR
6740
0
    handler.on_error("Invalid [character set] specifier in format string");
6741
0
    return {};
6742
4.56k
}
6743
6744
template <typename CharT, typename SpecHandler>
6745
constexpr const CharT* parse_presentation_regex(const CharT*& begin,
6746
                                                const CharT* end,
6747
                                                SpecHandler&& handler)
6748
214k
{
6749
214k
#if !SCN_DISABLE_REGEX
6750
214k
    SCN_EXPECT(begin != end);
6751
214k
    SCN_EXPECT(*begin == CharT{'/'});
6752
6753
214k
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
6754
214k
                  std::is_same_v<CharT, wchar_t>) {
6755
214k
        handler.on_error("Regex backend doesn't support wide strings as input");
6756
214k
        return begin;
6757
214k
    }
6758
6759
214k
    auto start = begin;
6760
214k
    ++begin;
6761
6762
214k
    if (SCN_UNLIKELY(begin == end)) {
6763
68
        handler.on_error("Unexpected end of regex in format string");
6764
68
        return begin;
6765
68
    }
6766
6767
214k
    handler.on_type(presentation_type::regex);
6768
55.6M
    for (; begin != end; ++begin) {
6769
55.6M
        if (*begin == CharT{'/'}) {
6770
360k
            if (*(begin - 1) != CharT{'\\'}) {
6771
213k
                break;
6772
213k
            }
6773
147k
            else {
6774
147k
                handler.on_type(presentation_type::regex_escaped);
6775
147k
            }
6776
360k
        }
6777
55.6M
    }
6778
214k
    if (SCN_UNLIKELY(begin == end)) {
6779
938
        handler.on_error("Unexpected end of regex in format string");
6780
938
        return begin;
6781
938
    }
6782
6783
213k
    auto regex_end = begin;
6784
213k
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
6785
213k
    if (SCN_UNLIKELY(regex_pattern.empty())) {
6786
92
        handler.on_error("Invalid (empty) regex in format string");
6787
92
        return begin;
6788
92
    }
6789
213k
    handler.on_regex_pattern(regex_pattern);
6790
213k
    ++begin;
6791
6792
213k
    if (SCN_UNLIKELY(begin == end)) {
6793
68
        handler.on_error("Unexpected end of regex in format string");
6794
68
        return begin;
6795
68
    }
6796
6797
213k
    regex_flags flags{regex_flags::none};
6798
213k
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
6799
213k
        {{'m', regex_flags::multiline},
6800
213k
         {'s', regex_flags::singleline},
6801
213k
         {'i', regex_flags::nocase},
6802
213k
         {'n', regex_flags::nocapture}}};
6803
254k
    for (; begin != end; ++begin) {
6804
253k
        if (*begin == CharT{'}'}) {
6805
212k
            break;
6806
212k
        }
6807
41.6k
        bool found_flag = false;
6808
113k
        for (auto flag : flag_map) {
6809
113k
            if (static_cast<CharT>(flag.first) != *begin) {
6810
72.8k
                continue;
6811
72.8k
            }
6812
41.1k
            if ((flags & flag.second) != regex_flags::none) {
6813
62
                handler.on_error("Flag set multiple times in regex");
6814
62
                return begin;
6815
62
            }
6816
41.0k
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
6817
41.0k
            if (*begin == CharT{'s'}) {
6818
                // clang-format off
6819
124
                handler.on_error("/s flag for regex isn't supported by regex backend");
6820
                // clang-format on
6821
124
            }
6822
#if !SCN_HAS_STD_REGEX_MULTILINE
6823
            if (*begin == CharT{'m'}) {
6824
                // clang-format off
6825
                handler.on_error("/m flag for regex isn't supported by regex backend");
6826
                // clang-format on
6827
            }
6828
#endif
6829
41.0k
#endif
6830
41.0k
            flags |= flag.second;
6831
41.0k
            found_flag = true;
6832
41.0k
            break;
6833
41.1k
        }
6834
41.5k
        if (!found_flag) {
6835
462
            handler.on_error("Invalid flag in regex");
6836
462
            return begin;
6837
462
        }
6838
41.5k
    }
6839
212k
    handler.on_regex_flags(flags);
6840
6841
212k
    if (SCN_UNLIKELY(begin == end)) {
6842
140
        handler.on_error("Unexpected end of regex in format string");
6843
140
        return begin;
6844
140
    }
6845
6846
212k
    return begin;
6847
#else
6848
    handler.on_error("Regular expression support is disabled");
6849
    return {};
6850
#endif
6851
212k
}
impl.cpp:char const* scn::v3::detail::parse_presentation_regex<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6748
124k
{
6749
124k
#if !SCN_DISABLE_REGEX
6750
124k
    SCN_EXPECT(begin != end);
6751
124k
    SCN_EXPECT(*begin == CharT{'/'});
6752
6753
124k
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
6754
124k
                  std::is_same_v<CharT, wchar_t>) {
6755
124k
        handler.on_error("Regex backend doesn't support wide strings as input");
6756
124k
        return begin;
6757
124k
    }
6758
6759
124k
    auto start = begin;
6760
124k
    ++begin;
6761
6762
124k
    if (SCN_UNLIKELY(begin == end)) {
6763
34
        handler.on_error("Unexpected end of regex in format string");
6764
34
        return begin;
6765
34
    }
6766
6767
124k
    handler.on_type(presentation_type::regex);
6768
46.3M
    for (; begin != end; ++begin) {
6769
46.3M
        if (*begin == CharT{'/'}) {
6770
262k
            if (*(begin - 1) != CharT{'\\'}) {
6771
124k
                break;
6772
124k
            }
6773
138k
            else {
6774
138k
                handler.on_type(presentation_type::regex_escaped);
6775
138k
            }
6776
262k
        }
6777
46.3M
    }
6778
124k
    if (SCN_UNLIKELY(begin == end)) {
6779
560
        handler.on_error("Unexpected end of regex in format string");
6780
560
        return begin;
6781
560
    }
6782
6783
124k
    auto regex_end = begin;
6784
124k
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
6785
124k
    if (SCN_UNLIKELY(regex_pattern.empty())) {
6786
34
        handler.on_error("Invalid (empty) regex in format string");
6787
34
        return begin;
6788
34
    }
6789
124k
    handler.on_regex_pattern(regex_pattern);
6790
124k
    ++begin;
6791
6792
124k
    if (SCN_UNLIKELY(begin == end)) {
6793
34
        handler.on_error("Unexpected end of regex in format string");
6794
34
        return begin;
6795
34
    }
6796
6797
124k
    regex_flags flags{regex_flags::none};
6798
124k
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
6799
124k
        {{'m', regex_flags::multiline},
6800
124k
         {'s', regex_flags::singleline},
6801
124k
         {'i', regex_flags::nocase},
6802
124k
         {'n', regex_flags::nocapture}}};
6803
153k
    for (; begin != end; ++begin) {
6804
152k
        if (*begin == CharT{'}'}) {
6805
123k
            break;
6806
123k
        }
6807
29.1k
        bool found_flag = false;
6808
78.2k
        for (auto flag : flag_map) {
6809
78.2k
            if (static_cast<CharT>(flag.first) != *begin) {
6810
49.4k
                continue;
6811
49.4k
            }
6812
28.8k
            if ((flags & flag.second) != regex_flags::none) {
6813
34
                handler.on_error("Flag set multiple times in regex");
6814
34
                return begin;
6815
34
            }
6816
28.8k
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
6817
28.8k
            if (*begin == CharT{'s'}) {
6818
                // clang-format off
6819
48
                handler.on_error("/s flag for regex isn't supported by regex backend");
6820
                // clang-format on
6821
48
            }
6822
#if !SCN_HAS_STD_REGEX_MULTILINE
6823
            if (*begin == CharT{'m'}) {
6824
                // clang-format off
6825
                handler.on_error("/m flag for regex isn't supported by regex backend");
6826
                // clang-format on
6827
            }
6828
#endif
6829
28.8k
#endif
6830
28.8k
            flags |= flag.second;
6831
28.8k
            found_flag = true;
6832
28.8k
            break;
6833
28.8k
        }
6834
29.1k
        if (!found_flag) {
6835
312
            handler.on_error("Invalid flag in regex");
6836
312
            return begin;
6837
312
        }
6838
29.1k
    }
6839
123k
    handler.on_regex_flags(flags);
6840
6841
123k
    if (SCN_UNLIKELY(begin == end)) {
6842
58
        handler.on_error("Unexpected end of regex in format string");
6843
58
        return begin;
6844
58
    }
6845
6846
123k
    return begin;
6847
#else
6848
    handler.on_error("Regular expression support is disabled");
6849
    return {};
6850
#endif
6851
123k
}
Unexecuted instantiation: impl.cpp:char const* scn::v3::detail::parse_presentation_regex<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*&, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
impl.cpp:wchar_t const* scn::v3::detail::parse_presentation_regex<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6748
89.3k
{
6749
89.3k
#if !SCN_DISABLE_REGEX
6750
89.3k
    SCN_EXPECT(begin != end);
6751
89.3k
    SCN_EXPECT(*begin == CharT{'/'});
6752
6753
89.3k
    if constexpr (!SCN_REGEX_SUPPORTS_WIDE_STRINGS &&
6754
89.3k
                  std::is_same_v<CharT, wchar_t>) {
6755
89.3k
        handler.on_error("Regex backend doesn't support wide strings as input");
6756
89.3k
        return begin;
6757
89.3k
    }
6758
6759
89.3k
    auto start = begin;
6760
89.3k
    ++begin;
6761
6762
89.3k
    if (SCN_UNLIKELY(begin == end)) {
6763
34
        handler.on_error("Unexpected end of regex in format string");
6764
34
        return begin;
6765
34
    }
6766
6767
89.2k
    handler.on_type(presentation_type::regex);
6768
9.24M
    for (; begin != end; ++begin) {
6769
9.24M
        if (*begin == CharT{'/'}) {
6770
98.2k
            if (*(begin - 1) != CharT{'\\'}) {
6771
88.9k
                break;
6772
88.9k
            }
6773
9.37k
            else {
6774
9.37k
                handler.on_type(presentation_type::regex_escaped);
6775
9.37k
            }
6776
98.2k
        }
6777
9.24M
    }
6778
89.2k
    if (SCN_UNLIKELY(begin == end)) {
6779
378
        handler.on_error("Unexpected end of regex in format string");
6780
378
        return begin;
6781
378
    }
6782
6783
88.9k
    auto regex_end = begin;
6784
88.9k
    auto regex_pattern = make_string_view_from_pointers(start + 1, regex_end);
6785
88.9k
    if (SCN_UNLIKELY(regex_pattern.empty())) {
6786
58
        handler.on_error("Invalid (empty) regex in format string");
6787
58
        return begin;
6788
58
    }
6789
88.8k
    handler.on_regex_pattern(regex_pattern);
6790
88.8k
    ++begin;
6791
6792
88.8k
    if (SCN_UNLIKELY(begin == end)) {
6793
34
        handler.on_error("Unexpected end of regex in format string");
6794
34
        return begin;
6795
34
    }
6796
6797
88.8k
    regex_flags flags{regex_flags::none};
6798
88.8k
    constexpr std::array<std::pair<char, regex_flags>, 4> flag_map{
6799
88.8k
        {{'m', regex_flags::multiline},
6800
88.8k
         {'s', regex_flags::singleline},
6801
88.8k
         {'i', regex_flags::nocase},
6802
88.8k
         {'n', regex_flags::nocapture}}};
6803
101k
    for (; begin != end; ++begin) {
6804
101k
        if (*begin == CharT{'}'}) {
6805
88.5k
            break;
6806
88.5k
        }
6807
12.4k
        bool found_flag = false;
6808
35.6k
        for (auto flag : flag_map) {
6809
35.6k
            if (static_cast<CharT>(flag.first) != *begin) {
6810
23.3k
                continue;
6811
23.3k
            }
6812
12.2k
            if ((flags & flag.second) != regex_flags::none) {
6813
28
                handler.on_error("Flag set multiple times in regex");
6814
28
                return begin;
6815
28
            }
6816
12.2k
#if SCN_REGEX_BACKEND == SCN_REGEX_BACKEND_STD
6817
12.2k
            if (*begin == CharT{'s'}) {
6818
                // clang-format off
6819
76
                handler.on_error("/s flag for regex isn't supported by regex backend");
6820
                // clang-format on
6821
76
            }
6822
#if !SCN_HAS_STD_REGEX_MULTILINE
6823
            if (*begin == CharT{'m'}) {
6824
                // clang-format off
6825
                handler.on_error("/m flag for regex isn't supported by regex backend");
6826
                // clang-format on
6827
            }
6828
#endif
6829
12.2k
#endif
6830
12.2k
            flags |= flag.second;
6831
12.2k
            found_flag = true;
6832
12.2k
            break;
6833
12.2k
        }
6834
12.4k
        if (!found_flag) {
6835
150
            handler.on_error("Invalid flag in regex");
6836
150
            return begin;
6837
150
        }
6838
12.4k
    }
6839
88.6k
    handler.on_regex_flags(flags);
6840
6841
88.6k
    if (SCN_UNLIKELY(begin == end)) {
6842
82
        handler.on_error("Unexpected end of regex in format string");
6843
82
        return begin;
6844
82
    }
6845
6846
88.5k
    return begin;
6847
#else
6848
    handler.on_error("Regular expression support is disabled");
6849
    return {};
6850
#endif
6851
88.6k
}
Unexecuted instantiation: impl.cpp:wchar_t const* scn::v3::detail::parse_presentation_regex<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*&, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
6852
6853
template <typename CharT, typename SpecHandler>
6854
constexpr const CharT* parse_format_specs(const CharT* begin,
6855
                                          const CharT* end,
6856
                                          SpecHandler&& handler)
6857
11.1M
{
6858
11.1M
    auto do_presentation = [&]() -> const CharT* {
6859
8.95M
        if (*begin == CharT{'['}) {
6860
55.5k
            auto set = parse_presentation_set(begin, end, handler);
6861
55.5k
            if (SCN_UNLIKELY(set.size() <= 2)) {
6862
                // clang-format off
6863
1.60k
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6864
                // clang-format on
6865
1.60k
                return begin;
6866
1.60k
            }
6867
53.9k
            handler.on_character_set_string(set);
6868
53.9k
            return begin;
6869
55.5k
        }
6870
8.89M
        if (*begin == CharT{'/'}) {
6871
214k
            return parse_presentation_regex(begin, end, handler);
6872
214k
        }
6873
8.68M
        presentation_type type = parse_presentation_type(*begin++);
6874
8.68M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6875
302k
            handler.on_error("Invalid type specifier in format string");
6876
302k
            return begin;
6877
302k
        }
6878
8.38M
        handler.on_type(type);
6879
8.38M
        return begin;
6880
8.68M
    };
impl.cpp:scn::v3::detail::parse_format_specs<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
6858
3.25M
    auto do_presentation = [&]() -> const CharT* {
6859
3.25M
        if (*begin == CharT{'['}) {
6860
33.5k
            auto set = parse_presentation_set(begin, end, handler);
6861
33.5k
            if (SCN_UNLIKELY(set.size() <= 2)) {
6862
                // clang-format off
6863
818
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6864
                // clang-format on
6865
818
                return begin;
6866
818
            }
6867
32.7k
            handler.on_character_set_string(set);
6868
32.7k
            return begin;
6869
33.5k
        }
6870
3.22M
        if (*begin == CharT{'/'}) {
6871
124k
            return parse_presentation_regex(begin, end, handler);
6872
124k
        }
6873
3.09M
        presentation_type type = parse_presentation_type(*begin++);
6874
3.09M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6875
52.3k
            handler.on_error("Invalid type specifier in format string");
6876
52.3k
            return begin;
6877
52.3k
        }
6878
3.04M
        handler.on_type(type);
6879
3.04M
        return begin;
6880
3.09M
    };
impl.cpp:scn::v3::detail::parse_format_specs<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
6858
3.17M
    auto do_presentation = [&]() -> const CharT* {
6859
3.17M
        if (*begin == CharT{'['}) {
6860
3.25k
            auto set = parse_presentation_set(begin, end, handler);
6861
3.25k
            if (SCN_UNLIKELY(set.size() <= 2)) {
6862
                // clang-format off
6863
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6864
                // clang-format on
6865
0
                return begin;
6866
0
            }
6867
3.25k
            handler.on_character_set_string(set);
6868
3.25k
            return begin;
6869
3.25k
        }
6870
3.16M
        if (*begin == CharT{'/'}) {
6871
0
            return parse_presentation_regex(begin, end, handler);
6872
0
        }
6873
3.16M
        presentation_type type = parse_presentation_type(*begin++);
6874
3.16M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6875
48.9k
            handler.on_error("Invalid type specifier in format string");
6876
48.9k
            return begin;
6877
48.9k
        }
6878
3.11M
        handler.on_type(type);
6879
3.11M
        return begin;
6880
3.16M
    };
impl.cpp:scn::v3::detail::parse_format_specs<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
6858
1.49M
    auto do_presentation = [&]() -> const CharT* {
6859
1.49M
        if (*begin == CharT{'['}) {
6860
14.1k
            auto set = parse_presentation_set(begin, end, handler);
6861
14.1k
            if (SCN_UNLIKELY(set.size() <= 2)) {
6862
                // clang-format off
6863
784
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6864
                // clang-format on
6865
784
                return begin;
6866
784
            }
6867
13.3k
            handler.on_character_set_string(set);
6868
13.3k
            return begin;
6869
14.1k
        }
6870
1.48M
        if (*begin == CharT{'/'}) {
6871
89.3k
            return parse_presentation_regex(begin, end, handler);
6872
89.3k
        }
6873
1.39M
        presentation_type type = parse_presentation_type(*begin++);
6874
1.39M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6875
103k
            handler.on_error("Invalid type specifier in format string");
6876
103k
            return begin;
6877
103k
        }
6878
1.28M
        handler.on_type(type);
6879
1.28M
        return begin;
6880
1.39M
    };
impl.cpp:scn::v3::detail::parse_format_specs<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)::{lambda()#1}::operator()() const
Line
Count
Source
6858
1.03M
    auto do_presentation = [&]() -> const CharT* {
6859
1.03M
        if (*begin == CharT{'['}) {
6860
4.56k
            auto set = parse_presentation_set(begin, end, handler);
6861
4.56k
            if (SCN_UNLIKELY(set.size() <= 2)) {
6862
                // clang-format off
6863
0
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6864
                // clang-format on
6865
0
                return begin;
6866
0
            }
6867
4.56k
            handler.on_character_set_string(set);
6868
4.56k
            return begin;
6869
4.56k
        }
6870
1.02M
        if (*begin == CharT{'/'}) {
6871
0
            return parse_presentation_regex(begin, end, handler);
6872
0
        }
6873
1.02M
        presentation_type type = parse_presentation_type(*begin++);
6874
1.02M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6875
97.9k
            handler.on_error("Invalid type specifier in format string");
6876
97.9k
            return begin;
6877
97.9k
        }
6878
928k
        handler.on_type(type);
6879
928k
        return begin;
6880
1.02M
    };
6881
6882
11.1M
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
6883
11.1M
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
6884
8.21M
        return do_presentation();
6885
8.21M
    }
6886
6887
2.95M
    if (SCN_UNLIKELY(begin == end)) {
6888
0
        handler.on_error("Unexpected end of format string");
6889
0
        return begin;
6890
0
    }
6891
6892
2.95M
    begin = parse_align(begin, end, handler);
6893
2.95M
    if (SCN_UNLIKELY(begin == end)) {
6894
268
        handler.on_error("Unexpected end of format string");
6895
268
        return begin;
6896
268
    }
6897
6898
2.95M
    begin = parse_width(begin, end, handler);
6899
2.95M
    if (SCN_UNLIKELY(begin == end)) {
6900
226
        handler.on_error("Unexpected end of format string");
6901
226
        return begin;
6902
226
    }
6903
6904
2.95M
    if (*begin == CharT{'.'}) {
6905
24.3k
        ++begin;
6906
24.3k
        if (SCN_UNLIKELY(begin == end)) {
6907
78
            handler.on_error("Unexpected end of format string");
6908
78
            return begin;
6909
78
        }
6910
24.2k
        begin = parse_precision(begin, end, handler);
6911
24.2k
        if (SCN_UNLIKELY(begin == end)) {
6912
294
            handler.on_error("Unexpected end of format string");
6913
294
            return begin;
6914
294
        }
6915
24.2k
    }
6916
6917
2.95M
    if (*begin == CharT{'L'}) {
6918
2.20M
        handler.on_localized();
6919
2.20M
        ++begin;
6920
2.20M
    }
6921
2.95M
    if (SCN_UNLIKELY(begin == end)) {
6922
118
        handler.on_error("Unexpected end of format string");
6923
118
        return begin;
6924
118
    }
6925
6926
2.95M
    if (begin != end && *begin != CharT{'}'}) {
6927
739k
        do_presentation();
6928
739k
    }
6929
2.95M
    if (SCN_UNLIKELY(begin == end)) {
6930
4.63k
        handler.on_error("Unexpected end of format string");
6931
4.63k
        return begin;
6932
4.63k
    }
6933
6934
2.94M
    return begin;
6935
2.95M
}
impl.cpp:char const* scn::v3::detail::parse_format_specs<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >&)
Line
Count
Source
6857
4.20M
{
6858
4.20M
    auto do_presentation = [&]() -> const CharT* {
6859
4.20M
        if (*begin == CharT{'['}) {
6860
4.20M
            auto set = parse_presentation_set(begin, end, handler);
6861
4.20M
            if (SCN_UNLIKELY(set.size() <= 2)) {
6862
                // clang-format off
6863
4.20M
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6864
                // clang-format on
6865
4.20M
                return begin;
6866
4.20M
            }
6867
4.20M
            handler.on_character_set_string(set);
6868
4.20M
            return begin;
6869
4.20M
        }
6870
4.20M
        if (*begin == CharT{'/'}) {
6871
4.20M
            return parse_presentation_regex(begin, end, handler);
6872
4.20M
        }
6873
4.20M
        presentation_type type = parse_presentation_type(*begin++);
6874
4.20M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6875
4.20M
            handler.on_error("Invalid type specifier in format string");
6876
4.20M
            return begin;
6877
4.20M
        }
6878
4.20M
        handler.on_type(type);
6879
4.20M
        return begin;
6880
4.20M
    };
6881
6882
4.20M
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
6883
4.20M
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
6884
3.01M
        return do_presentation();
6885
3.01M
    }
6886
6887
1.18M
    if (SCN_UNLIKELY(begin == end)) {
6888
0
        handler.on_error("Unexpected end of format string");
6889
0
        return begin;
6890
0
    }
6891
6892
1.18M
    begin = parse_align(begin, end, handler);
6893
1.18M
    if (SCN_UNLIKELY(begin == end)) {
6894
124
        handler.on_error("Unexpected end of format string");
6895
124
        return begin;
6896
124
    }
6897
6898
1.18M
    begin = parse_width(begin, end, handler);
6899
1.18M
    if (SCN_UNLIKELY(begin == end)) {
6900
120
        handler.on_error("Unexpected end of format string");
6901
120
        return begin;
6902
120
    }
6903
6904
1.18M
    if (*begin == CharT{'.'}) {
6905
19.7k
        ++begin;
6906
19.7k
        if (SCN_UNLIKELY(begin == end)) {
6907
40
            handler.on_error("Unexpected end of format string");
6908
40
            return begin;
6909
40
        }
6910
19.7k
        begin = parse_precision(begin, end, handler);
6911
19.7k
        if (SCN_UNLIKELY(begin == end)) {
6912
114
            handler.on_error("Unexpected end of format string");
6913
114
            return begin;
6914
114
        }
6915
19.7k
    }
6916
6917
1.18M
    if (*begin == CharT{'L'}) {
6918
940k
        handler.on_localized();
6919
940k
        ++begin;
6920
940k
    }
6921
1.18M
    if (SCN_UNLIKELY(begin == end)) {
6922
52
        handler.on_error("Unexpected end of format string");
6923
52
        return begin;
6924
52
    }
6925
6926
1.18M
    if (begin != end && *begin != CharT{'}'}) {
6927
242k
        do_presentation();
6928
242k
    }
6929
1.18M
    if (SCN_UNLIKELY(begin == end)) {
6930
2.36k
        handler.on_error("Unexpected end of format string");
6931
2.36k
        return begin;
6932
2.36k
    }
6933
6934
1.18M
    return begin;
6935
1.18M
}
impl.cpp:char const* scn::v3::detail::parse_format_specs<char, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&>(char const*, char const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >&)
Line
Count
Source
6857
4.16M
{
6858
4.16M
    auto do_presentation = [&]() -> const CharT* {
6859
4.16M
        if (*begin == CharT{'['}) {
6860
4.16M
            auto set = parse_presentation_set(begin, end, handler);
6861
4.16M
            if (SCN_UNLIKELY(set.size() <= 2)) {
6862
                // clang-format off
6863
4.16M
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6864
                // clang-format on
6865
4.16M
                return begin;
6866
4.16M
            }
6867
4.16M
            handler.on_character_set_string(set);
6868
4.16M
            return begin;
6869
4.16M
        }
6870
4.16M
        if (*begin == CharT{'/'}) {
6871
4.16M
            return parse_presentation_regex(begin, end, handler);
6872
4.16M
        }
6873
4.16M
        presentation_type type = parse_presentation_type(*begin++);
6874
4.16M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6875
4.16M
            handler.on_error("Invalid type specifier in format string");
6876
4.16M
            return begin;
6877
4.16M
        }
6878
4.16M
        handler.on_type(type);
6879
4.16M
        return begin;
6880
4.16M
    };
6881
6882
4.16M
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
6883
4.16M
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
6884
3.09M
        return do_presentation();
6885
3.09M
    }
6886
6887
1.07M
    if (SCN_UNLIKELY(begin == end)) {
6888
0
        handler.on_error("Unexpected end of format string");
6889
0
        return begin;
6890
0
    }
6891
6892
1.07M
    begin = parse_align(begin, end, handler);
6893
1.07M
    if (SCN_UNLIKELY(begin == end)) {
6894
0
        handler.on_error("Unexpected end of format string");
6895
0
        return begin;
6896
0
    }
6897
6898
1.07M
    begin = parse_width(begin, end, handler);
6899
1.07M
    if (SCN_UNLIKELY(begin == end)) {
6900
0
        handler.on_error("Unexpected end of format string");
6901
0
        return begin;
6902
0
    }
6903
6904
1.07M
    if (*begin == CharT{'.'}) {
6905
0
        ++begin;
6906
0
        if (SCN_UNLIKELY(begin == end)) {
6907
0
            handler.on_error("Unexpected end of format string");
6908
0
            return begin;
6909
0
        }
6910
0
        begin = parse_precision(begin, end, handler);
6911
0
        if (SCN_UNLIKELY(begin == end)) {
6912
0
            handler.on_error("Unexpected end of format string");
6913
0
            return begin;
6914
0
        }
6915
0
    }
6916
6917
1.07M
    if (*begin == CharT{'L'}) {
6918
993k
        handler.on_localized();
6919
993k
        ++begin;
6920
993k
    }
6921
1.07M
    if (SCN_UNLIKELY(begin == end)) {
6922
0
        handler.on_error("Unexpected end of format string");
6923
0
        return begin;
6924
0
    }
6925
6926
1.07M
    if (begin != end && *begin != CharT{'}'}) {
6927
77.8k
        do_presentation();
6928
77.8k
    }
6929
1.07M
    if (SCN_UNLIKELY(begin == end)) {
6930
0
        handler.on_error("Unexpected end of format string");
6931
0
        return begin;
6932
0
    }
6933
6934
1.07M
    return begin;
6935
1.07M
}
impl.cpp:wchar_t const* scn::v3::detail::parse_format_specs<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >&)
Line
Count
Source
6857
1.63M
{
6858
1.63M
    auto do_presentation = [&]() -> const CharT* {
6859
1.63M
        if (*begin == CharT{'['}) {
6860
1.63M
            auto set = parse_presentation_set(begin, end, handler);
6861
1.63M
            if (SCN_UNLIKELY(set.size() <= 2)) {
6862
                // clang-format off
6863
1.63M
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6864
                // clang-format on
6865
1.63M
                return begin;
6866
1.63M
            }
6867
1.63M
            handler.on_character_set_string(set);
6868
1.63M
            return begin;
6869
1.63M
        }
6870
1.63M
        if (*begin == CharT{'/'}) {
6871
1.63M
            return parse_presentation_regex(begin, end, handler);
6872
1.63M
        }
6873
1.63M
        presentation_type type = parse_presentation_type(*begin++);
6874
1.63M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6875
1.63M
            handler.on_error("Invalid type specifier in format string");
6876
1.63M
            return begin;
6877
1.63M
        }
6878
1.63M
        handler.on_type(type);
6879
1.63M
        return begin;
6880
1.63M
    };
6881
6882
1.63M
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
6883
1.63M
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
6884
1.22M
        return do_presentation();
6885
1.22M
    }
6886
6887
408k
    if (SCN_UNLIKELY(begin == end)) {
6888
0
        handler.on_error("Unexpected end of format string");
6889
0
        return begin;
6890
0
    }
6891
6892
408k
    begin = parse_align(begin, end, handler);
6893
408k
    if (SCN_UNLIKELY(begin == end)) {
6894
144
        handler.on_error("Unexpected end of format string");
6895
144
        return begin;
6896
144
    }
6897
6898
407k
    begin = parse_width(begin, end, handler);
6899
407k
    if (SCN_UNLIKELY(begin == end)) {
6900
106
        handler.on_error("Unexpected end of format string");
6901
106
        return begin;
6902
106
    }
6903
6904
407k
    if (*begin == CharT{'.'}) {
6905
4.60k
        ++begin;
6906
4.60k
        if (SCN_UNLIKELY(begin == end)) {
6907
38
            handler.on_error("Unexpected end of format string");
6908
38
            return begin;
6909
38
        }
6910
4.56k
        begin = parse_precision(begin, end, handler);
6911
4.56k
        if (SCN_UNLIKELY(begin == end)) {
6912
180
            handler.on_error("Unexpected end of format string");
6913
180
            return begin;
6914
180
        }
6915
4.56k
    }
6916
6917
407k
    if (*begin == CharT{'L'}) {
6918
136k
        handler.on_localized();
6919
136k
        ++begin;
6920
136k
    }
6921
407k
    if (SCN_UNLIKELY(begin == end)) {
6922
66
        handler.on_error("Unexpected end of format string");
6923
66
        return begin;
6924
66
    }
6925
6926
407k
    if (begin != end && *begin != CharT{'}'}) {
6927
265k
        do_presentation();
6928
265k
    }
6929
407k
    if (SCN_UNLIKELY(begin == end)) {
6930
2.26k
        handler.on_error("Unexpected end of format string");
6931
2.26k
        return begin;
6932
2.26k
    }
6933
6934
405k
    return begin;
6935
407k
}
impl.cpp:wchar_t const* scn::v3::detail::parse_format_specs<wchar_t, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&>(wchar_t const*, wchar_t const*, scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >&)
Line
Count
Source
6857
1.16M
{
6858
1.16M
    auto do_presentation = [&]() -> const CharT* {
6859
1.16M
        if (*begin == CharT{'['}) {
6860
1.16M
            auto set = parse_presentation_set(begin, end, handler);
6861
1.16M
            if (SCN_UNLIKELY(set.size() <= 2)) {
6862
                // clang-format off
6863
1.16M
                handler.on_error("Invalid (empty) [character set] specifier in format string");
6864
                // clang-format on
6865
1.16M
                return begin;
6866
1.16M
            }
6867
1.16M
            handler.on_character_set_string(set);
6868
1.16M
            return begin;
6869
1.16M
        }
6870
1.16M
        if (*begin == CharT{'/'}) {
6871
1.16M
            return parse_presentation_regex(begin, end, handler);
6872
1.16M
        }
6873
1.16M
        presentation_type type = parse_presentation_type(*begin++);
6874
1.16M
        if (SCN_UNLIKELY(type == presentation_type::none)) {
6875
1.16M
            handler.on_error("Invalid type specifier in format string");
6876
1.16M
            return begin;
6877
1.16M
        }
6878
1.16M
        handler.on_type(type);
6879
1.16M
        return begin;
6880
1.16M
    };
6881
6882
1.16M
    if (end - begin > 1 && *(begin + 1) == CharT{'}'} &&
6883
1.16M
        is_ascii_letter(*begin) && *begin != CharT{'L'}) {
6884
877k
        return do_presentation();
6885
877k
    }
6886
6887
284k
    if (SCN_UNLIKELY(begin == end)) {
6888
0
        handler.on_error("Unexpected end of format string");
6889
0
        return begin;
6890
0
    }
6891
6892
284k
    begin = parse_align(begin, end, handler);
6893
284k
    if (SCN_UNLIKELY(begin == end)) {
6894
0
        handler.on_error("Unexpected end of format string");
6895
0
        return begin;
6896
0
    }
6897
6898
284k
    begin = parse_width(begin, end, handler);
6899
284k
    if (SCN_UNLIKELY(begin == end)) {
6900
0
        handler.on_error("Unexpected end of format string");
6901
0
        return begin;
6902
0
    }
6903
6904
284k
    if (*begin == CharT{'.'}) {
6905
0
        ++begin;
6906
0
        if (SCN_UNLIKELY(begin == end)) {
6907
0
            handler.on_error("Unexpected end of format string");
6908
0
            return begin;
6909
0
        }
6910
0
        begin = parse_precision(begin, end, handler);
6911
0
        if (SCN_UNLIKELY(begin == end)) {
6912
0
            handler.on_error("Unexpected end of format string");
6913
0
            return begin;
6914
0
        }
6915
0
    }
6916
6917
284k
    if (*begin == CharT{'L'}) {
6918
130k
        handler.on_localized();
6919
130k
        ++begin;
6920
130k
    }
6921
284k
    if (SCN_UNLIKELY(begin == end)) {
6922
0
        handler.on_error("Unexpected end of format string");
6923
0
        return begin;
6924
0
    }
6925
6926
284k
    if (begin != end && *begin != CharT{'}'}) {
6927
153k
        do_presentation();
6928
153k
    }
6929
284k
    if (SCN_UNLIKELY(begin == end)) {
6930
0
        handler.on_error("Unexpected end of format string");
6931
0
        return begin;
6932
0
    }
6933
6934
284k
    return begin;
6935
284k
}
6936
6937
template <typename CharT, typename Handler>
6938
constexpr const CharT* parse_replacement_field(const CharT* begin,
6939
                                               const CharT* end,
6940
                                               Handler& handler)
6941
11.3M
{
6942
11.3M
    struct id_adapter {
6943
11.3M
        constexpr void operator()()
6944
11.3M
        {
6945
11.1M
            arg_id = handler.on_arg_id();
6946
11.1M
        }
impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()()
Line
Count
Source
6944
4.19M
        {
6945
4.19M
            arg_id = handler.on_arg_id();
6946
4.19M
        }
impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()()
Line
Count
Source
6944
4.16M
        {
6945
4.16M
            arg_id = handler.on_arg_id();
6946
4.16M
        }
impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()()
Line
Count
Source
6944
1.63M
        {
6945
1.63M
            arg_id = handler.on_arg_id();
6946
1.63M
        }
impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()()
Line
Count
Source
6944
1.16M
        {
6945
1.16M
            arg_id = handler.on_arg_id();
6946
1.16M
        }
6947
11.3M
        constexpr void operator()(std::size_t id)
6948
11.3M
        {
6949
11.7k
            arg_id = handler.on_arg_id(id);
6950
11.7k
        }
impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter::operator()(unsigned long)
Line
Count
Source
6948
11.3k
        {
6949
11.3k
            arg_id = handler.on_arg_id(id);
6950
11.3k
        }
Unexecuted instantiation: impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter::operator()(unsigned long)
impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::operator()(unsigned long)
Line
Count
Source
6948
362
        {
6949
362
            arg_id = handler.on_arg_id(id);
6950
362
        }
Unexecuted instantiation: impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::operator()(unsigned long)
6951
6952
11.3M
        constexpr void on_error(const char* msg)
6953
11.3M
        {
6954
113k
            SCN_UNLIKELY_ATTR
6955
113k
            handler.on_error(msg);
6956
113k
        }
impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)::id_adapter::on_error(char const*)
Line
Count
Source
6953
112k
        {
6954
112k
            SCN_UNLIKELY_ATTR
6955
112k
            handler.on_error(msg);
6956
112k
        }
Unexecuted instantiation: impl.cpp:scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)::id_adapter::on_error(char const*)
impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)::id_adapter::on_error(char const*)
Line
Count
Source
6953
842
        {
6954
842
            SCN_UNLIKELY_ATTR
6955
842
            handler.on_error(msg);
6956
842
        }
Unexecuted instantiation: impl.cpp:scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)::id_adapter::on_error(char const*)
6957
6958
11.3M
        Handler& handler;
6959
11.3M
        std::size_t arg_id;
6960
11.3M
    };
6961
6962
11.3M
    ++begin;
6963
11.3M
    if (SCN_UNLIKELY(begin == end)) {
6964
222
        handler.on_error("Unexpected end of replacement field");
6965
222
        return begin;
6966
222
    }
6967
6968
11.3M
    if (*begin == CharT{'}'}) {
6969
12.6k
        handler.on_replacement_field(handler.on_arg_id(), begin);
6970
12.6k
    }
6971
11.2M
    else if (*begin == CharT{'{'}) {
6972
7.35k
        handler.on_literal_text(begin, begin + 1);
6973
7.35k
    }
6974
11.2M
    else {
6975
11.2M
        auto adapter = id_adapter{handler, 0};
6976
11.2M
        begin = parse_arg_id(begin, end, adapter);
6977
6978
11.2M
        if (SCN_UNLIKELY(begin == end)) {
6979
212
            handler.on_error("Missing '}' in format string");
6980
212
            return begin;
6981
212
        }
6982
6983
11.2M
        if (*begin == CharT{'}'}) {
6984
352
            handler.on_replacement_field(adapter.arg_id, begin);
6985
352
        }
6986
11.2M
        else if (*begin == CharT{':'}) {
6987
11.1M
            if (SCN_UNLIKELY(begin + 1 == end)) {
6988
156
                handler.on_error("Unexpected end of replacement field");
6989
156
                return begin;
6990
156
            }
6991
11.1M
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
6992
11.1M
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
6993
468k
                handler.on_error("Unknown format specifier");
6994
468k
                return begin;
6995
468k
            }
6996
11.1M
        }
6997
113k
        else {
6998
113k
            SCN_UNLIKELY_ATTR
6999
113k
            handler.on_error("Missing '}' in format string");
7000
113k
            return begin;
7001
113k
        }
7002
11.2M
    }
7003
10.7M
    return begin + 1;
7004
11.3M
}
impl.cpp:char const* scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<true, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
6941
4.32M
{
6942
4.32M
    struct id_adapter {
6943
4.32M
        constexpr void operator()()
6944
4.32M
        {
6945
4.32M
            arg_id = handler.on_arg_id();
6946
4.32M
        }
6947
4.32M
        constexpr void operator()(std::size_t id)
6948
4.32M
        {
6949
4.32M
            arg_id = handler.on_arg_id(id);
6950
4.32M
        }
6951
6952
4.32M
        constexpr void on_error(const char* msg)
6953
4.32M
        {
6954
4.32M
            SCN_UNLIKELY_ATTR
6955
4.32M
            handler.on_error(msg);
6956
4.32M
        }
6957
6958
4.32M
        Handler& handler;
6959
4.32M
        std::size_t arg_id;
6960
4.32M
    };
6961
6962
4.32M
    ++begin;
6963
4.32M
    if (SCN_UNLIKELY(begin == end)) {
6964
116
        handler.on_error("Unexpected end of replacement field");
6965
116
        return begin;
6966
116
    }
6967
6968
4.32M
    if (*begin == CharT{'}'}) {
6969
6.68k
        handler.on_replacement_field(handler.on_arg_id(), begin);
6970
6.68k
    }
6971
4.32M
    else if (*begin == CharT{'{'}) {
6972
7.24k
        handler.on_literal_text(begin, begin + 1);
6973
7.24k
    }
6974
4.31M
    else {
6975
4.31M
        auto adapter = id_adapter{handler, 0};
6976
4.31M
        begin = parse_arg_id(begin, end, adapter);
6977
6978
4.31M
        if (SCN_UNLIKELY(begin == end)) {
6979
110
            handler.on_error("Missing '}' in format string");
6980
110
            return begin;
6981
110
        }
6982
6983
4.31M
        if (*begin == CharT{'}'}) {
6984
140
            handler.on_replacement_field(adapter.arg_id, begin);
6985
140
        }
6986
4.31M
        else if (*begin == CharT{':'}) {
6987
4.20M
            if (SCN_UNLIKELY(begin + 1 == end)) {
6988
92
                handler.on_error("Unexpected end of replacement field");
6989
92
                return begin;
6990
92
            }
6991
4.20M
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
6992
4.20M
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
6993
83.4k
                handler.on_error("Unknown format specifier");
6994
83.4k
                return begin;
6995
83.4k
            }
6996
4.20M
        }
6997
112k
        else {
6998
112k
            SCN_UNLIKELY_ATTR
6999
112k
            handler.on_error("Missing '}' in format string");
7000
112k
            return begin;
7001
112k
        }
7002
4.31M
    }
7003
4.13M
    return begin + 1;
7004
4.32M
}
impl.cpp:char const* scn::v3::detail::parse_replacement_field<char, scn::v3::(anonymous namespace)::format_handler<false, char> >(char const*, char const*, scn::v3::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
6941
4.16M
{
6942
4.16M
    struct id_adapter {
6943
4.16M
        constexpr void operator()()
6944
4.16M
        {
6945
4.16M
            arg_id = handler.on_arg_id();
6946
4.16M
        }
6947
4.16M
        constexpr void operator()(std::size_t id)
6948
4.16M
        {
6949
4.16M
            arg_id = handler.on_arg_id(id);
6950
4.16M
        }
6951
6952
4.16M
        constexpr void on_error(const char* msg)
6953
4.16M
        {
6954
4.16M
            SCN_UNLIKELY_ATTR
6955
4.16M
            handler.on_error(msg);
6956
4.16M
        }
6957
6958
4.16M
        Handler& handler;
6959
4.16M
        std::size_t arg_id;
6960
4.16M
    };
6961
6962
4.16M
    ++begin;
6963
4.16M
    if (SCN_UNLIKELY(begin == end)) {
6964
0
        handler.on_error("Unexpected end of replacement field");
6965
0
        return begin;
6966
0
    }
6967
6968
4.16M
    if (*begin == CharT{'}'}) {
6969
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
6970
0
    }
6971
4.16M
    else if (*begin == CharT{'{'}) {
6972
0
        handler.on_literal_text(begin, begin + 1);
6973
0
    }
6974
4.16M
    else {
6975
4.16M
        auto adapter = id_adapter{handler, 0};
6976
4.16M
        begin = parse_arg_id(begin, end, adapter);
6977
6978
4.16M
        if (SCN_UNLIKELY(begin == end)) {
6979
0
            handler.on_error("Missing '}' in format string");
6980
0
            return begin;
6981
0
        }
6982
6983
4.16M
        if (*begin == CharT{'}'}) {
6984
0
            handler.on_replacement_field(adapter.arg_id, begin);
6985
0
        }
6986
4.16M
        else if (*begin == CharT{':'}) {
6987
4.16M
            if (SCN_UNLIKELY(begin + 1 == end)) {
6988
0
                handler.on_error("Unexpected end of replacement field");
6989
0
                return begin;
6990
0
            }
6991
4.16M
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
6992
4.16M
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
6993
74.5k
                handler.on_error("Unknown format specifier");
6994
74.5k
                return begin;
6995
74.5k
            }
6996
4.16M
        }
6997
0
        else {
6998
0
            SCN_UNLIKELY_ATTR
6999
0
            handler.on_error("Missing '}' in format string");
7000
0
            return begin;
7001
0
        }
7002
4.16M
    }
7003
4.09M
    return begin + 1;
7004
4.16M
}
impl.cpp:wchar_t const* scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
6941
1.64M
{
6942
1.64M
    struct id_adapter {
6943
1.64M
        constexpr void operator()()
6944
1.64M
        {
6945
1.64M
            arg_id = handler.on_arg_id();
6946
1.64M
        }
6947
1.64M
        constexpr void operator()(std::size_t id)
6948
1.64M
        {
6949
1.64M
            arg_id = handler.on_arg_id(id);
6950
1.64M
        }
6951
6952
1.64M
        constexpr void on_error(const char* msg)
6953
1.64M
        {
6954
1.64M
            SCN_UNLIKELY_ATTR
6955
1.64M
            handler.on_error(msg);
6956
1.64M
        }
6957
6958
1.64M
        Handler& handler;
6959
1.64M
        std::size_t arg_id;
6960
1.64M
    };
6961
6962
1.64M
    ++begin;
6963
1.64M
    if (SCN_UNLIKELY(begin == end)) {
6964
106
        handler.on_error("Unexpected end of replacement field");
6965
106
        return begin;
6966
106
    }
6967
6968
1.64M
    if (*begin == CharT{'}'}) {
6969
5.94k
        handler.on_replacement_field(handler.on_arg_id(), begin);
6970
5.94k
    }
6971
1.63M
    else if (*begin == CharT{'{'}) {
6972
112
        handler.on_literal_text(begin, begin + 1);
6973
112
    }
6974
1.63M
    else {
6975
1.63M
        auto adapter = id_adapter{handler, 0};
6976
1.63M
        begin = parse_arg_id(begin, end, adapter);
6977
6978
1.63M
        if (SCN_UNLIKELY(begin == end)) {
6979
102
            handler.on_error("Missing '}' in format string");
6980
102
            return begin;
6981
102
        }
6982
6983
1.63M
        if (*begin == CharT{'}'}) {
6984
212
            handler.on_replacement_field(adapter.arg_id, begin);
6985
212
        }
6986
1.63M
        else if (*begin == CharT{':'}) {
6987
1.63M
            if (SCN_UNLIKELY(begin + 1 == end)) {
6988
64
                handler.on_error("Unexpected end of replacement field");
6989
64
                return begin;
6990
64
            }
6991
1.63M
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
6992
1.63M
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
6993
161k
                handler.on_error("Unknown format specifier");
6994
161k
                return begin;
6995
161k
            }
6996
1.63M
        }
6997
740
        else {
6998
740
            SCN_UNLIKELY_ATTR
6999
740
            handler.on_error("Missing '}' in format string");
7000
740
            return begin;
7001
740
        }
7002
1.63M
    }
7003
1.48M
    return begin + 1;
7004
1.64M
}
impl.cpp:wchar_t const* scn::v3::detail::parse_replacement_field<wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t> >(wchar_t const*, wchar_t const*, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
6941
1.16M
{
6942
1.16M
    struct id_adapter {
6943
1.16M
        constexpr void operator()()
6944
1.16M
        {
6945
1.16M
            arg_id = handler.on_arg_id();
6946
1.16M
        }
6947
1.16M
        constexpr void operator()(std::size_t id)
6948
1.16M
        {
6949
1.16M
            arg_id = handler.on_arg_id(id);
6950
1.16M
        }
6951
6952
1.16M
        constexpr void on_error(const char* msg)
6953
1.16M
        {
6954
1.16M
            SCN_UNLIKELY_ATTR
6955
1.16M
            handler.on_error(msg);
6956
1.16M
        }
6957
6958
1.16M
        Handler& handler;
6959
1.16M
        std::size_t arg_id;
6960
1.16M
    };
6961
6962
1.16M
    ++begin;
6963
1.16M
    if (SCN_UNLIKELY(begin == end)) {
6964
0
        handler.on_error("Unexpected end of replacement field");
6965
0
        return begin;
6966
0
    }
6967
6968
1.16M
    if (*begin == CharT{'}'}) {
6969
0
        handler.on_replacement_field(handler.on_arg_id(), begin);
6970
0
    }
6971
1.16M
    else if (*begin == CharT{'{'}) {
6972
0
        handler.on_literal_text(begin, begin + 1);
6973
0
    }
6974
1.16M
    else {
6975
1.16M
        auto adapter = id_adapter{handler, 0};
6976
1.16M
        begin = parse_arg_id(begin, end, adapter);
6977
6978
1.16M
        if (SCN_UNLIKELY(begin == end)) {
6979
0
            handler.on_error("Missing '}' in format string");
6980
0
            return begin;
6981
0
        }
6982
6983
1.16M
        if (*begin == CharT{'}'}) {
6984
0
            handler.on_replacement_field(adapter.arg_id, begin);
6985
0
        }
6986
1.16M
        else if (*begin == CharT{':'}) {
6987
1.16M
            if (SCN_UNLIKELY(begin + 1 == end)) {
6988
0
                handler.on_error("Unexpected end of replacement field");
6989
0
                return begin;
6990
0
            }
6991
1.16M
            begin = handler.on_format_specs(adapter.arg_id, begin + 1, end);
6992
1.16M
            if (SCN_UNLIKELY(begin == end || *begin != '}')) {
6993
149k
                handler.on_error("Unknown format specifier");
6994
149k
                return begin;
6995
149k
            }
6996
1.16M
        }
6997
0
        else {
6998
0
            SCN_UNLIKELY_ATTR
6999
0
            handler.on_error("Missing '}' in format string");
7000
0
            return begin;
7001
0
        }
7002
1.16M
    }
7003
1.01M
    return begin + 1;
7004
1.16M
}
7005
7006
template <bool IsConstexpr, typename CharT, typename Handler>
7007
constexpr void parse_format_string_impl(std::basic_string_view<CharT> format,
7008
                                        Handler&& handler)
7009
11.7M
{
7010
    // TODO: memchr fast path with a larger (> 32) format string
7011
7012
11.7M
    auto begin = format.data();
7013
11.7M
    auto it = begin;
7014
11.7M
    const auto end = format.data() + format.size();
7015
7016
1.20G
    while (it != end) {
7017
1.19G
        const auto ch = *it++;
7018
1.19G
        if (ch == CharT{'{'}) {
7019
11.3M
            handler.on_literal_text(begin, it - 1);
7020
7021
11.3M
            begin = it = parse_replacement_field(it - 1, end, handler);
7022
11.3M
            if (!handler) {
7023
2.49M
                return;
7024
2.49M
            }
7025
11.3M
        }
7026
1.18G
        else if (ch == CharT{'}'}) {
7027
333k
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7028
293k
                handler.on_error("Unmatched '}' in format string");
7029
293k
                return;
7030
293k
            }
7031
7032
40.2k
            handler.on_literal_text(begin, it);
7033
40.2k
            begin = ++it;
7034
40.2k
        }
7035
1.19G
    }
7036
7037
8.96M
    handler.on_literal_text(begin, end);
7038
8.96M
}
impl.cpp:void scn::v3::detail::parse_format_string_impl<false, char, scn::v3::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7009
4.32M
{
7010
    // TODO: memchr fast path with a larger (> 32) format string
7011
7012
4.32M
    auto begin = format.data();
7013
4.32M
    auto it = begin;
7014
4.32M
    const auto end = format.data() + format.size();
7015
7016
8.40M
    while (it != end) {
7017
4.71M
        const auto ch = *it++;
7018
4.71M
        if (ch == CharT{'{'}) {
7019
4.32M
            handler.on_literal_text(begin, it - 1);
7020
7021
4.32M
            begin = it = parse_replacement_field(it - 1, end, handler);
7022
4.32M
            if (!handler) {
7023
629k
                return;
7024
629k
            }
7025
4.32M
        }
7026
385k
        else if (ch == CharT{'}'}) {
7027
4.46k
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7028
3.12k
                handler.on_error("Unmatched '}' in format string");
7029
3.12k
                return;
7030
3.12k
            }
7031
7032
1.34k
            handler.on_literal_text(begin, it);
7033
1.34k
            begin = ++it;
7034
1.34k
        }
7035
4.71M
    }
7036
7037
3.69M
    handler.on_literal_text(begin, end);
7038
3.69M
}
impl.cpp:void scn::v3::detail::parse_format_string_impl<false, char, scn::v3::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
7009
4.16M
{
7010
    // TODO: memchr fast path with a larger (> 32) format string
7011
7012
4.16M
    auto begin = format.data();
7013
4.16M
    auto it = begin;
7014
4.16M
    const auto end = format.data() + format.size();
7015
7016
7.98M
    while (it != end) {
7017
4.16M
        const auto ch = *it++;
7018
4.16M
        if (ch == CharT{'{'}) {
7019
4.16M
            handler.on_literal_text(begin, it - 1);
7020
7021
4.16M
            begin = it = parse_replacement_field(it - 1, end, handler);
7022
4.16M
            if (!handler) {
7023
347k
                return;
7024
347k
            }
7025
4.16M
        }
7026
0
        else if (ch == CharT{'}'}) {
7027
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7028
0
                handler.on_error("Unmatched '}' in format string");
7029
0
                return;
7030
0
            }
7031
7032
0
            handler.on_literal_text(begin, it);
7033
0
            begin = ++it;
7034
0
        }
7035
4.16M
    }
7036
7037
3.81M
    handler.on_literal_text(begin, end);
7038
3.81M
}
impl.cpp:void scn::v3::detail::parse_format_string_impl<false, wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7009
2.10M
{
7010
    // TODO: memchr fast path with a larger (> 32) format string
7011
7012
2.10M
    auto begin = format.data();
7013
2.10M
    auto it = begin;
7014
2.10M
    const auto end = format.data() + format.size();
7015
7016
1.19G
    while (it != end) {
7017
1.18G
        const auto ch = *it++;
7018
1.18G
        if (ch == CharT{'{'}) {
7019
1.64M
            handler.on_literal_text(begin, it - 1);
7020
7021
1.64M
            begin = it = parse_replacement_field(it - 1, end, handler);
7022
1.64M
            if (!handler) {
7023
824k
                return;
7024
824k
            }
7025
1.64M
        }
7026
1.18G
        else if (ch == CharT{'}'}) {
7027
328k
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7028
290k
                handler.on_error("Unmatched '}' in format string");
7029
290k
                return;
7030
290k
            }
7031
7032
38.9k
            handler.on_literal_text(begin, it);
7033
38.9k
            begin = ++it;
7034
38.9k
        }
7035
1.18G
    }
7036
7037
990k
    handler.on_literal_text(begin, end);
7038
990k
}
impl.cpp:void scn::v3::detail::parse_format_string_impl<false, wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
7009
1.16M
{
7010
    // TODO: memchr fast path with a larger (> 32) format string
7011
7012
1.16M
    auto begin = format.data();
7013
1.16M
    auto it = begin;
7014
1.16M
    const auto end = format.data() + format.size();
7015
7016
1.62M
    while (it != end) {
7017
1.16M
        const auto ch = *it++;
7018
1.16M
        if (ch == CharT{'{'}) {
7019
1.16M
            handler.on_literal_text(begin, it - 1);
7020
7021
1.16M
            begin = it = parse_replacement_field(it - 1, end, handler);
7022
1.16M
            if (!handler) {
7023
694k
                return;
7024
694k
            }
7025
1.16M
        }
7026
0
        else if (ch == CharT{'}'}) {
7027
0
            if (SCN_UNLIKELY(it == end || *it != CharT{'}'})) {
7028
0
                handler.on_error("Unmatched '}' in format string");
7029
0
                return;
7030
0
            }
7031
7032
0
            handler.on_literal_text(begin, it);
7033
0
            begin = ++it;
7034
0
        }
7035
1.16M
    }
7036
7037
467k
    handler.on_literal_text(begin, end);
7038
467k
}
7039
7040
template <bool IsConstexpr, typename CharT, typename Handler>
7041
constexpr scan_error parse_format_string(std::basic_string_view<CharT> format,
7042
                                         Handler&& handler)
7043
11.7M
{
7044
11.7M
    parse_format_string_impl<IsConstexpr>(format, handler);
7045
11.7M
    handler.check_args_exhausted();
7046
11.7M
    return handler.get_error();
7047
11.7M
}
impl.cpp:scn::v3::scan_error scn::v3::detail::parse_format_string<false, char, scn::v3::(anonymous namespace)::format_handler<true, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::(anonymous namespace)::format_handler<true, char>&)
Line
Count
Source
7043
4.32M
{
7044
4.32M
    parse_format_string_impl<IsConstexpr>(format, handler);
7045
4.32M
    handler.check_args_exhausted();
7046
4.32M
    return handler.get_error();
7047
4.32M
}
impl.cpp:scn::v3::scan_error scn::v3::detail::parse_format_string<false, char, scn::v3::(anonymous namespace)::format_handler<false, char>&>(std::__1::basic_string_view<char, std::__1::char_traits<char> >, scn::v3::(anonymous namespace)::format_handler<false, char>&)
Line
Count
Source
7043
4.16M
{
7044
4.16M
    parse_format_string_impl<IsConstexpr>(format, handler);
7045
4.16M
    handler.check_args_exhausted();
7046
4.16M
    return handler.get_error();
7047
4.16M
}
impl.cpp:scn::v3::scan_error scn::v3::detail::parse_format_string<false, wchar_t, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::(anonymous namespace)::format_handler<true, wchar_t>&)
Line
Count
Source
7043
2.10M
{
7044
2.10M
    parse_format_string_impl<IsConstexpr>(format, handler);
7045
2.10M
    handler.check_args_exhausted();
7046
2.10M
    return handler.get_error();
7047
2.10M
}
impl.cpp:scn::v3::scan_error scn::v3::detail::parse_format_string<false, wchar_t, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&>(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >, scn::v3::(anonymous namespace)::format_handler<false, wchar_t>&)
Line
Count
Source
7043
1.16M
{
7044
1.16M
    parse_format_string_impl<IsConstexpr>(format, handler);
7045
1.16M
    handler.check_args_exhausted();
7046
1.16M
    return handler.get_error();
7047
1.16M
}
7048
7049
enum class arg_type_category {
7050
    none,
7051
    integer,
7052
    unsigned_integer,
7053
    floating,
7054
    string,
7055
    pointer,
7056
    boolean,
7057
    character,
7058
    custom
7059
};
7060
7061
constexpr arg_type_category get_category_for_arg_type(arg_type type)
7062
2.20M
{
7063
2.20M
    switch (type) {
7064
134
        case arg_type::none_type:
7065
134
            return arg_type_category::none;
7066
7067
121k
        case arg_type::schar_type:
7068
121k
        case arg_type::short_type:
7069
259k
        case arg_type::int_type:
7070
259k
        case arg_type::long_type:
7071
398k
        case arg_type::llong_type:
7072
398k
            return arg_type_category::integer;
7073
7074
109k
        case arg_type::uchar_type:
7075
109k
        case arg_type::ushort_type:
7076
229k
        case arg_type::uint_type:
7077
229k
        case arg_type::ulong_type:
7078
351k
        case arg_type::ullong_type:
7079
351k
            return arg_type_category::unsigned_integer;
7080
7081
210
        case arg_type::pointer_type:
7082
210
            return arg_type_category::pointer;
7083
210
        case arg_type::bool_type:
7084
210
            return arg_type_category::boolean;
7085
116
        case arg_type::narrow_character_type:
7086
210
        case arg_type::wide_character_type:
7087
210
        case arg_type::code_point_type:
7088
210
            return arg_type_category::character;
7089
7090
446k
        case arg_type::float_type:
7091
934k
        case arg_type::double_type:
7092
1.42M
        case arg_type::ldouble_type:
7093
1.42M
            return arg_type_category::floating;
7094
7095
2.36k
        case arg_type::narrow_string_view_type:
7096
7.06k
        case arg_type::narrow_string_type:
7097
11.6k
        case arg_type::wide_string_view_type:
7098
20.8k
        case arg_type::wide_string_type:
7099
20.8k
            return arg_type_category::string;
7100
7101
0
        case arg_type::custom_type:
7102
0
            return arg_type_category::custom;
7103
7104
0
            SCN_CLANG_PUSH
7105
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
7106
0
        default:
7107
0
            SCN_ENSURE(false);
7108
2.20M
            SCN_UNREACHABLE;
7109
2.20M
            SCN_CLANG_POP
7110
2.20M
    }
7111
7112
2.20M
    SCN_UNREACHABLE;
7113
2.20M
}
7114
7115
template <typename Handler>
7116
class specs_checker : public Handler {
7117
public:
7118
    template <typename H>
7119
    constexpr specs_checker(H&& handler, arg_type type)
7120
        : Handler(SCN_FWD(handler)), m_arg_type(type)
7121
11.1M
    {
7122
11.1M
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7123
11.1M
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >(scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> >&&, scn::v3::detail::arg_type)
Line
Count
Source
7121
4.20M
    {
7122
4.20M
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7123
4.20M
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >(scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> >&&, scn::v3::detail::arg_type)
Line
Count
Source
7121
4.16M
    {
7122
4.16M
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7123
4.16M
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >(scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >&&, scn::v3::detail::arg_type)
Line
Count
Source
7121
1.63M
    {
7122
1.63M
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7123
1.63M
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >(scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> >&&, scn::v3::detail::arg_type)
Line
Count
Source
7121
1.16M
    {
7122
1.16M
        SCN_EXPECT(m_arg_type != arg_type::custom_type);
7123
1.16M
    }
7124
7125
    constexpr void on_localized()
7126
2.20M
    {
7127
2.20M
        const auto cat = get_category_for_arg_type(m_arg_type);
7128
2.20M
        if (cat != arg_type_category::integer &&
7129
2.20M
            cat != arg_type_category::unsigned_integer &&
7130
2.20M
            cat != arg_type_category::floating &&
7131
2.20M
            cat != arg_type_category::boolean) {
7132
21.4k
            SCN_UNLIKELY_ATTR
7133
            // clang-format off
7134
21.4k
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7135
            // clang-format on
7136
21.4k
        }
7137
7138
2.18M
        Handler::on_localized();
7139
2.18M
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<char> > >::on_localized()
Line
Count
Source
7126
940k
    {
7127
940k
        const auto cat = get_category_for_arg_type(m_arg_type);
7128
940k
        if (cat != arg_type_category::integer &&
7129
940k
            cat != arg_type_category::unsigned_integer &&
7130
940k
            cat != arg_type_category::floating &&
7131
940k
            cat != arg_type_category::boolean) {
7132
5.12k
            SCN_UNLIKELY_ATTR
7133
            // clang-format off
7134
5.12k
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7135
            // clang-format on
7136
5.12k
        }
7137
7138
935k
        Handler::on_localized();
7139
935k
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<char> > >::on_localized()
Line
Count
Source
7126
993k
    {
7127
993k
        const auto cat = get_category_for_arg_type(m_arg_type);
7128
993k
        if (cat != arg_type_category::integer &&
7129
993k
            cat != arg_type_category::unsigned_integer &&
7130
993k
            cat != arg_type_category::floating &&
7131
993k
            cat != arg_type_category::boolean) {
7132
2.24k
            SCN_UNLIKELY_ATTR
7133
            // clang-format off
7134
2.24k
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7135
            // clang-format on
7136
2.24k
        }
7137
7138
991k
        Handler::on_localized();
7139
991k
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::impl::basic_contiguous_scan_context<wchar_t> > >::on_localized()
Line
Count
Source
7126
136k
    {
7127
136k
        const auto cat = get_category_for_arg_type(m_arg_type);
7128
136k
        if (cat != arg_type_category::integer &&
7129
136k
            cat != arg_type_category::unsigned_integer &&
7130
136k
            cat != arg_type_category::floating &&
7131
136k
            cat != arg_type_category::boolean) {
7132
9.54k
            SCN_UNLIKELY_ATTR
7133
            // clang-format off
7134
9.54k
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7135
            // clang-format on
7136
9.54k
        }
7137
7138
126k
        Handler::on_localized();
7139
126k
    }
impl.cpp:scn::v3::detail::specs_checker<scn::v3::(anonymous namespace)::specs_handler<scn::v3::basic_scan_context<wchar_t> > >::on_localized()
Line
Count
Source
7126
130k
    {
7127
130k
        const auto cat = get_category_for_arg_type(m_arg_type);
7128
130k
        if (cat != arg_type_category::integer &&
7129
130k
            cat != arg_type_category::unsigned_integer &&
7130
130k
            cat != arg_type_category::floating &&
7131
130k
            cat != arg_type_category::boolean) {
7132
4.49k
            SCN_UNLIKELY_ATTR
7133
            // clang-format off
7134
4.49k
            return this->on_error("'L' specifier can only be used with arguments of integer, floating-point, or boolean types");
7135
            // clang-format on
7136
4.49k
        }
7137
7138
126k
        Handler::on_localized();
7139
126k
    }
7140
7141
private:
7142
    arg_type m_arg_type;
7143
};
7144
7145
template <typename Handler>
7146
constexpr void check_int_type_specs(const format_specs& specs,
7147
                                    Handler&& handler)
7148
4.01M
{
7149
4.01M
    if (SCN_UNLIKELY(specs.type > presentation_type::int_hex)) {
7150
54.9k
        return handler.on_error("Invalid type specifier for integer type");
7151
54.9k
    }
7152
3.96M
    if (specs.localized) {
7153
750k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_binary)) {
7154
            // clang-format off
7155
12
            handler.on_error("'b'/'B' specifier not supported for localized integers");
7156
            // clang-format on
7157
12
            return;
7158
12
        }
7159
750k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_arbitrary_base)) {
7160
            // clang-format off
7161
0
            return handler.on_error("Arbitrary bases not supported for localized integers");
7162
            // clang-format on
7163
0
        }
7164
750k
    }
7165
3.96M
}
Unexecuted instantiation: void scn::v3::detail::check_int_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
void scn::v3::detail::check_int_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
7148
4.01M
{
7149
4.01M
    if (SCN_UNLIKELY(specs.type > presentation_type::int_hex)) {
7150
54.9k
        return handler.on_error("Invalid type specifier for integer type");
7151
54.9k
    }
7152
3.96M
    if (specs.localized) {
7153
750k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_binary)) {
7154
            // clang-format off
7155
12
            handler.on_error("'b'/'B' specifier not supported for localized integers");
7156
            // clang-format on
7157
12
            return;
7158
12
        }
7159
750k
        if (SCN_UNLIKELY(specs.type == presentation_type::int_arbitrary_base)) {
7160
            // clang-format off
7161
0
            return handler.on_error("Arbitrary bases not supported for localized integers");
7162
            // clang-format on
7163
0
        }
7164
750k
    }
7165
3.96M
}
7166
7167
template <typename Handler>
7168
constexpr void check_char_type_specs(const format_specs& specs,
7169
                                     Handler&& handler)
7170
28.8k
{
7171
28.8k
    if (specs.type > presentation_type::int_hex ||
7172
28.8k
        specs.type == presentation_type::int_arbitrary_base) {
7173
27.4k
        SCN_UNLIKELY_ATTR
7174
27.4k
        return handler.on_error("Invalid type specifier for character type");
7175
27.4k
    }
7176
28.8k
}
Unexecuted instantiation: void scn::v3::detail::check_char_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
void scn::v3::detail::check_char_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
7170
28.8k
{
7171
28.8k
    if (specs.type > presentation_type::int_hex ||
7172
28.8k
        specs.type == presentation_type::int_arbitrary_base) {
7173
27.4k
        SCN_UNLIKELY_ATTR
7174
27.4k
        return handler.on_error("Invalid type specifier for character type");
7175
27.4k
    }
7176
28.8k
}
7177
7178
template <typename Handler>
7179
constexpr void check_code_point_type_specs(const format_specs& specs,
7180
                                           Handler&& handler)
7181
0
{
7182
0
    if (specs.type != presentation_type::none &&
7183
0
        specs.type != presentation_type::character) {
7184
0
        SCN_UNLIKELY_ATTR
7185
0
        return handler.on_error("Invalid type specifier for code point type");
7186
0
    }
7187
0
}
7188
7189
template <typename Handler>
7190
constexpr void check_float_type_specs(const format_specs& specs,
7191
                                      Handler&& handler)
7192
5.21M
{
7193
5.21M
    if (specs.type != presentation_type::none &&
7194
5.21M
        (specs.type < presentation_type::float_hex ||
7195
3.78M
         specs.type > presentation_type::float_general)) {
7196
27.5k
        SCN_UNLIKELY_ATTR
7197
27.5k
        return handler.on_error("Invalid type specifier for float type");
7198
27.5k
    }
7199
5.21M
}
Unexecuted instantiation: void scn::v3::detail::check_float_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
void scn::v3::detail::check_float_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
7192
5.21M
{
7193
5.21M
    if (specs.type != presentation_type::none &&
7194
5.21M
        (specs.type < presentation_type::float_hex ||
7195
3.78M
         specs.type > presentation_type::float_general)) {
7196
27.5k
        SCN_UNLIKELY_ATTR
7197
27.5k
        return handler.on_error("Invalid type specifier for float type");
7198
27.5k
    }
7199
5.21M
}
7200
7201
template <typename Handler>
7202
constexpr void check_string_type_specs(const format_specs& specs,
7203
                                       Handler&& handler)
7204
1.37M
{
7205
1.37M
    if (specs.type == presentation_type::none ||
7206
1.37M
        specs.type == presentation_type::string ||
7207
1.37M
        specs.type == presentation_type::string_set ||
7208
1.37M
        specs.type == presentation_type::regex ||
7209
1.37M
        specs.type == presentation_type::regex_escaped) {
7210
1.35M
        return;
7211
1.35M
    }
7212
21.1k
    if (specs.type == presentation_type::character) {
7213
20.4k
        if (SCN_UNLIKELY(specs.precision == 0)) {
7214
            // clang-format off
7215
20.2k
            return handler.on_error("'c' type specifier for strings requires the field precision to be specified");
7216
            // clang-format on
7217
20.2k
        }
7218
186
        return;
7219
20.4k
    }
7220
732
    SCN_UNLIKELY_ATTR
7221
732
    handler.on_error("Invalid type specifier for string");
7222
732
}
Unexecuted instantiation: void scn::v3::detail::check_string_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
void scn::v3::detail::check_string_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
7204
1.37M
{
7205
1.37M
    if (specs.type == presentation_type::none ||
7206
1.37M
        specs.type == presentation_type::string ||
7207
1.37M
        specs.type == presentation_type::string_set ||
7208
1.37M
        specs.type == presentation_type::regex ||
7209
1.37M
        specs.type == presentation_type::regex_escaped) {
7210
1.35M
        return;
7211
1.35M
    }
7212
21.1k
    if (specs.type == presentation_type::character) {
7213
20.4k
        if (SCN_UNLIKELY(specs.precision == 0)) {
7214
            // clang-format off
7215
20.2k
            return handler.on_error("'c' type specifier for strings requires the field precision to be specified");
7216
            // clang-format on
7217
20.2k
        }
7218
186
        return;
7219
20.4k
    }
7220
732
    SCN_UNLIKELY_ATTR
7221
732
    handler.on_error("Invalid type specifier for string");
7222
732
}
7223
7224
template <typename Handler>
7225
constexpr void check_pointer_type_specs(const format_specs& specs,
7226
                                        Handler&& handler)
7227
28.8k
{
7228
28.8k
    if (specs.type != presentation_type::none &&
7229
28.8k
        specs.type != presentation_type::pointer) {
7230
27.5k
        SCN_UNLIKELY_ATTR
7231
27.5k
        return handler.on_error("Invalid type specifier for pointer");
7232
27.5k
    }
7233
28.8k
}
Unexecuted instantiation: void scn::v3::detail::check_pointer_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
void scn::v3::detail::check_pointer_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
7227
28.8k
{
7228
28.8k
    if (specs.type != presentation_type::none &&
7229
28.8k
        specs.type != presentation_type::pointer) {
7230
27.5k
        SCN_UNLIKELY_ATTR
7231
27.5k
        return handler.on_error("Invalid type specifier for pointer");
7232
27.5k
    }
7233
28.8k
}
7234
7235
template <typename Handler>
7236
constexpr void check_bool_type_specs(const format_specs& specs,
7237
                                     Handler&& handler)
7238
29.0k
{
7239
29.0k
    if (specs.type != presentation_type::none &&
7240
29.0k
        specs.type != presentation_type::string &&
7241
29.0k
        specs.type != presentation_type::int_generic &&
7242
29.0k
        specs.type != presentation_type::int_hex &&
7243
29.0k
        specs.type != presentation_type::int_binary &&
7244
29.0k
        specs.type != presentation_type::int_unsigned_decimal &&
7245
29.0k
        specs.type != presentation_type::int_octal &&
7246
29.0k
        specs.type != presentation_type::int_decimal) {
7247
27.1k
        SCN_UNLIKELY_ATTR
7248
27.1k
        return handler.on_error("Invalid type specifier for boolean");
7249
27.1k
    }
7250
29.0k
}
Unexecuted instantiation: void scn::v3::detail::check_bool_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
void scn::v3::detail::check_bool_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
Line
Count
Source
7238
29.0k
{
7239
29.0k
    if (specs.type != presentation_type::none &&
7240
29.0k
        specs.type != presentation_type::string &&
7241
29.0k
        specs.type != presentation_type::int_generic &&
7242
29.0k
        specs.type != presentation_type::int_hex &&
7243
29.0k
        specs.type != presentation_type::int_binary &&
7244
29.0k
        specs.type != presentation_type::int_unsigned_decimal &&
7245
29.0k
        specs.type != presentation_type::int_octal &&
7246
29.0k
        specs.type != presentation_type::int_decimal) {
7247
27.1k
        SCN_UNLIKELY_ATTR
7248
27.1k
        return handler.on_error("Invalid type specifier for boolean");
7249
27.1k
    }
7250
29.0k
}
7251
7252
template <typename Handler>
7253
constexpr void check_regex_type_specs(const format_specs& specs,
7254
                                      Handler&& handler)
7255
0
{
7256
0
    if (SCN_UNLIKELY(specs.type == presentation_type::none ||
7257
0
                     specs.charset_string_size == 0)) {
7258
        // clang-format off
7259
0
        return handler.on_error("Regular expression needs to specified when reading regex_matches");
7260
        // clang-format on
7261
0
    }
7262
0
    if (specs.type == presentation_type::regex ||
7263
0
        specs.type == presentation_type::regex_escaped) {
7264
0
        return;
7265
0
    }
7266
0
    SCN_UNLIKELY_ATTR
7267
0
    handler.on_error("Invalid type specifier for regex_matches");
7268
0
}
Unexecuted instantiation: void scn::v3::detail::check_regex_type_specs<scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&>(scn::v3::detail::format_specs const&, scn::v3::detail::specs_checker<scn::v3::detail::specs_setter>&)
Unexecuted instantiation: void scn::v3::detail::check_regex_type_specs<scn::v3::impl::reader_error_handler&>(scn::v3::detail::format_specs const&, scn::v3::impl::reader_error_handler&)
7269
}  // namespace detail
7270
7271
/**
7272
 * \defgroup format-string Format strings
7273
 *
7274
 * \brief Format string description
7275
 *
7276
 * The format string syntax is heavily influenced by {fmt} and
7277
 * `std::format`, and is largely compatible with it. Scanning functions,
7278
 * such as `scn::scan` and
7279
 * `scn::input`, use the format string syntax described in this section.
7280
 *
7281
 * Format strings consist of:
7282
 *
7283
 *  * Replacement fields, which are surrounded by curly braces `{}`.
7284
 *
7285
 *  * Non-whitespace characters (except `{}`; for literal braces, use
7286
 *    `{{` and `}}`), which consume exactly one identical character from the
7287
 *    input
7288
 *
7289
 *  * Whitespace characters, which consume any and all available consecutive
7290
 *    whitespace from the input.
7291
 *
7292
 * Literal characters are matched by code point one-to-one, with no
7293
 * normalization being done.
7294
 * `Ä` (U+00C4, UTF-8 0xc3 0x84) only matches another U+00C4, and not, for
7295
 * example, U+00A8 (DIAERESIS) and U+0041 (LATIN CAPITAL LETTER A).
7296
 *
7297
 * Characters (code points) are considered to be whitespace characters by
7298
 * the Unicode Pattern_White_Space property, as defined by UAX31-R3a.
7299
 * These code points are:
7300
 *
7301
 *  * ASCII whitespace characters ("\t\n\v\f\r ")
7302
 *  * U+0085 (next line)
7303
 *  * U+200E and U+200F (LEFT-TO-RIGHT MARK and RIGHT-TO-LEFT MARK)
7304
 *  * U+2028 and U+2029 (LINE SEPARATOR and PARAGRAPH SEPARATOR)
7305
 *
7306
 * The grammar for a replacement field is as follows:
7307
 *
7308
 * \code
7309
 * replacement-field   ::= '{' [arg-id] [':' format-spec] '}'
7310
 * arg-id              ::= positive-integer
7311
 *
7312
 * format-spec         ::= [fill-and-align]
7313
 *                         [width] [precision]
7314
 *                         ['L'] [type]
7315
 * fill-and-align      ::= [fill] align
7316
 * fill                ::= any character other than
7317
 *                         '{' or '}'
7318
 * align               ::= one of '<' '>' '^'
7319
 * width               ::= positive-integer
7320
 * precision           ::= '.' nonnegative-integer
7321
 * type                ::= 'a' | 'A' | 'b' | 'B' | 'c' | 'd' |
7322
 *                         'e' | 'E' | 'f' | 'F' | 'g' | 'G' |
7323
 *                         'o' | 'p' | 's' | 'x' | 'X' | 'i' | 'u'
7324
 * \endcode
7325
 *
7326
 * \section arg-ids Argument IDs
7327
 *
7328
 * The `arg-id` specifier can be used to index arguments manually.
7329
 * If manual indexing is used, all of the indices in a format string must be
7330
 * stated explicitly. The same `arg-id` can appear in the format string
7331
 * only once, and must refer to a valid argument.
7332
 *
7333
 * \code{.cpp}
7334
 * // Format string equivalent to "{0} to {1}"
7335
 * auto a = scn::scan<int, int>("2 to 300", "{} to {}");
7336
 * // a->values() == (2, 300)
7337
 *
7338
 * // Manual indexing
7339
 * auto b = scn::scan<int, int>("2 to 300", "{1} to {0}");
7340
 * // b->values() == (3, 200)
7341
 *
7342
 * // INVALID:
7343
 * // Automatic and manual indexing is mixed
7344
 * auto c = scn::scan<int, int>("2 to 300", "{} to {0}");
7345
 *
7346
 * // INVALID:
7347
 * // Same argument is referred to multiple times
7348
 * auto d = scn::scan<int, int>("2 to 300", "{0} to {0}");
7349
 *
7350
 * // INVALID:
7351
 * // {2} does not refer to an argument
7352
 * auto e = scn::scan<int, int>("2 to 300", "{0} to {2}");
7353
 * \endcode
7354
 *
7355
 * \section fill-and-align Fill and align
7356
 *
7357
 * Alignment allows for skipping character before and/or after a value.
7358
 * There are three possible values for alignment:
7359
 *
7360
 * <table>
7361
 * <caption id="align-table">
7362
 * Alignment options
7363
 * </caption>
7364
 *
7365
 * <tr><th>Option</th> <th>Meaning</th></tr>
7366
 *
7367
 * <tr>
7368
 * <td>`<`</td>
7369
 * <td>
7370
 * Align the value to the left (skips fill characters after the value)
7371
 * </td>
7372
 * </tr>
7373
 *
7374
 * <tr>
7375
 * <td>`>`</td>
7376
 * <td>
7377
 * Align the value to the right (skips fill characters before the value)
7378
 * </td>
7379
 * </tr>
7380
 *
7381
 * <tr>
7382
 * <td>`^`</td>
7383
 * <td>
7384
 * Align the value to the center
7385
 * (skips fill characters both before and after the value)
7386
 * </td>
7387
 * </tr>
7388
 * </table>
7389
 *
7390
 * The fill character can be any Unicode code point, except for `{` and `}`.
7391
 * The default fill is any whitespace character, as specified above.
7392
 *
7393
 * For format type specifiers other than `c` (default for `char` and `wchar_t`,
7394
 * available for `string` and `string_view`), `[...]`, and the regex `/.../`,
7395
 * the default alignment is `>`.
7396
 * In practice, this means that leading whitespace is skipped by default.
7397
 * For the `c` format type specifier, there's no default alignment,
7398
 * and no fill characters are skipped, including whitespace.
7399
 *
7400
 * The number of fill characters consumed can be controlled with the width and
7401
 * precision specifiers.
7402
 *
7403
 * \section width Width
7404
 *
7405
 * Width specifies the minimum number of characters that will be read from
7406
 * the source range. It can be any unsigned integer. Any fill characters skipped
7407
 * are included in the width.
7408
 *
7409
 * For the purposes of width calculation, the same algorithm is used that in
7410
 * {fmt}. Every code point has a width of one, except the following ones
7411
 * have a width of 2:
7412
 *
7413
 * * any code point with the East_Asian_Width="W" or East_Asian_Width="F"
7414
 *   Derived Extracted Property as described by UAX#44
7415
 * * U+4DC0 – U+4DFF (Yijing Hexagram Symbols)
7416
 * * U+1F300 – U+1F5FF (Miscellaneous Symbols and Pictographs)
7417
 * * U+1F900 – U+1F9FF (Supplemental Symbols and Pictographs)
7418
 *
7419
 * \section precision Precision
7420
 *
7421
 * Precision specifies the maximum number of characters that will be read from
7422
 * the source range. The method for counting characters is the same as above,
7423
 * with the width field.
7424
 *
7425
 * \section localized Localized
7426
 *
7427
 * The `L` flag enables localized scanning.
7428
 * Its effects are different for each type it is used with:
7429
 *
7430
 *  * For integers, it enables locale-specific thousands separators
7431
 *  * For floating-point numbers, it enables locale-specific thousands and
7432
 *    radix (decimal) separators
7433
 *  * For booleans, it enables locale-specific textual representations (for
7434
 *    `true` and `false`)
7435
 *  * For other types, it has no effect
7436
 *
7437
 * \section type Type specifier
7438
 *
7439
 * The type specifier determines how the data is to be scanned.
7440
 * The type of the argument to be scanned determines what flags are valid.
7441
 *
7442
 * \subsection type-string Type specifier: strings
7443
 *
7444
 * <table>
7445
 * <caption id="type-string-table">
7446
 * String types (`std::basic_string` and `std::basic_string_view`)
7447
 * </caption>
7448
 * <tr><th>Type</th> <th>Meaning</th></tr>
7449
 * <tr>
7450
 * <td>none, `s`</td>
7451
 * <td>
7452
 * Copies from the input until a whitespace character is encountered, or,
7453
 * if using the `<` (left) or `^` (center) alignment,
7454
 * a fill character is encountered.
7455
 * </td>
7456
 * </tr>
7457
 * <tr>
7458
 * <td>`c`</td>
7459
 * <td>
7460
 * Copies from the input until the field width is exhausted.
7461
 * Has no default alignment
7462
 * (doesn't skip preceding whitespace, if no alignment is specified).
7463
 * Errors if no field precision is provided.
7464
 * </td>
7465
 * </tr>
7466
 * <tr>
7467
 * <td>`[...]`</td>
7468
 * <td>
7469
 * Character set matching: copies from the input until a character not specified
7470
 * in the set is encountered. Character ranges can be specified with `-`, and
7471
 * the entire selection can be inverted with a prefix `^`. Matches and supports
7472
 * arbitrary Unicode code points.
7473
 * Has no default alignment
7474
 * (doesn't skip preceding whitespace, if no alignment is specified).
7475
 * </td>
7476
 * </tr>
7477
 * <tr>
7478
 * <td>`/<regex>/<flags>`</td>
7479
 * <td>
7480
 * Regular expression matching: copies from the input until the input does not
7481
 * match the regex.
7482
 * Has no default alignment
7483
 * (doesn't skip preceding whitespace, if no alignment is specified).
7484
 * \see regex
7485
 * </td>
7486
 * </tr>
7487
 * </table>
7488
 *
7489
 * \note `std::basic_string_view` can only be scanned if the source is
7490
 * contiguous.
7491
 *
7492
 * \subsection type-int Type specifier: integers
7493
 *
7494
 * Integer values are scanned as if by using `std::from_chars`,
7495
 * except a positive `+` sign and a base prefix (like `0x`) are always
7496
 * allowed to be present.
7497
 *
7498
 * <table>
7499
 * <caption id="type-int-table">
7500
 * Integer types (`signed` and `unsigned` variants of `char`, `short`,
7501
 * `int`, `long`, and `long long`)
7502
 * </caption>
7503
 * <tr><th>Type</th> <th>Meaning</th></tr>
7504
 * <tr>
7505
 * <td>`b`, `B`</td>
7506
 * <td>
7507
 * `std::from_chars` with base `2`. The base prefix is `0b` or `0B`.
7508
 * </td>
7509
 * </tr>
7510
 * <tr>
7511
 * <td>`o`, `O`</td>
7512
 * <td>
7513
 * `std::from_chars` with base `8`. The base prefix is `0o` or `0O`, or just
7514
 * `0`.
7515
 * </td>
7516
 * </tr>
7517
 * <tr>
7518
 * <td>`x`, `X`</td>
7519
 * <td>
7520
 * `std::from_chars` with base `16`. The base prefix is `0x` or `0X`.
7521
 * </td>
7522
 * </tr>
7523
 * <tr>
7524
 * <td>`d`</td>
7525
 * <td>
7526
 * `std::from_chars` with base `10`. No base prefix allowed.
7527
 * </td>
7528
 * </tr>
7529
 * <tr>
7530
 * <td>`u`</td>
7531
 * <td>
7532
 * `std::from_chars` with base `10`. No base prefix or `-` sign allowed.
7533
 * </td>
7534
 * </tr>
7535
 * <tr>
7536
 * <td>`i`</td>
7537
 * <td>
7538
 * Detect the base from a possible prefix, defaulting to decimal (base-10).
7539
 * </td>
7540
 * </tr>
7541
 * <tr>
7542
 * <td>`rXX` (where XX = [2, 36])</td>
7543
 * <td>
7544
 * Custom base, without a base prefix (r stands for radix).
7545
 * </td>
7546
 * </tr>
7547
 * <tr>
7548
 * <td>`c`</td>
7549
 * <td>
7550
 * Copies a character (code unit) from the input.
7551
 * </td>
7552
 * </tr>
7553
 * <tr>
7554
 * <td>none</td>
7555
 * <td>
7556
 * Same as `d`.
7557
 * </td>
7558
 * </tr>
7559
 * </table>
7560
 *
7561
 * \subsection type-char Type specifier: characters
7562
 *
7563
 * <table>
7564
 * <caption id="type-char-table">
7565
 * Character types (`char` and `wchar_t`), and code points (`char32_t`)
7566
 * </caption>
7567
 * <tr><th>Type</th> <th>Meaning</th></tr>
7568
 * <tr>
7569
 * <td>none, `c`</td>
7570
 * <td>
7571
 * Copies a character (code point for `char32_t`, code unit otherwise) from the
7572
 * input.
7573
 * </td>
7574
 * </tr>
7575
 * <tr>
7576
 * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td>
7577
 * <td>
7578
 * Same as for integers, see above \ref type-int. Not allowed for `char32_t`.
7579
 * </td>
7580
 * </tr>
7581
 * </table>
7582
 *
7583
 * \note When scanning characters (`char` and `wchar_t`), the source range is
7584
 * read a single code unit at a time, and encoding is not respected.
7585
 *
7586
 * \subsection type-float Type specifier: floating-point values
7587
 *
7588
 * Floating-point values are scanned as if by using `std::from_chars`,
7589
 * except a positive `+` sign and a base prefix (like `0x`) are always
7590
 * allowed to be present.
7591
 *
7592
 * <table>
7593
 * <caption id="type-float-table">
7594
 * Floating-point types (`float`, `double`, and `long double`)
7595
 * </caption>
7596
 * <tr><th>Type</th> <th>Meaning</th></tr>
7597
 * <tr>
7598
 * <td>`a`, `A`</td>
7599
 * <td>
7600
 * `std::from_chars` with `std::chars_format::hex`.
7601
 * Prefix `0x`/`0X` is allowed.
7602
 * </td>
7603
 * </tr>
7604
 * <tr>
7605
 * <td>`e`, `E`</td>
7606
 * <td>
7607
 * `std::from_chars` with `std::chars_format::scientific`.
7608
 * </td>
7609
 * </tr>
7610
 * <tr>
7611
 * <td>`f`, `F`</td>
7612
 * <td>
7613
 * `std::from_chars` with `std::chars_format::fixed`.
7614
 * </td>
7615
 * </tr>
7616
 * <tr>
7617
 * <td>`g`, `G`</td>
7618
 * <td>
7619
 * `std::from_chars` with `std::chars_format::general`.
7620
 * </td>
7621
 * </tr>
7622
 * <tr>
7623
 * <td>none</td>
7624
 * <td>
7625
 * `std::from_chars` with `std::chars_format::general | std::chars_format::hex`.
7626
 * Prefix `0x`/`0X` is allowed.
7627
 * </td>
7628
 * </tr>
7629
 * </table>
7630
 *
7631
 * \subsection type-bool Type specifier: booleans
7632
 *
7633
 * <table>
7634
 * <caption id="type-bool-table">
7635
 * `bool`
7636
 * </caption>
7637
 * <tr><th>Type</th> <th>Meaning</th></tr>
7638
 * <tr>
7639
 * <td>`s`</td>
7640
 * <td>
7641
 * Allows for the textual representation (`true` or `false`).
7642
 * </td>
7643
 * </tr>
7644
 * <tr>
7645
 * <td>`b`, `B`, `d`, `i`, `o`, `O`, `u`, `x`, `X`</td>
7646
 * <td>
7647
 * Allows for the integral/numeric representation (`0` or `1`).
7648
 * </td>
7649
 * </tr>
7650
 * <tr>
7651
 * <td>none</td>
7652
 * <td>
7653
 * Allows for both the textual and the integral/numeric representation.
7654
 * </td>
7655
 * </tr>
7656
 * </table>
7657
 */
7658
7659
namespace detail {
7660
/**
7661
 * A runtime format string
7662
 *
7663
 * \ingroup format-string
7664
 */
7665
template <typename CharT>
7666
struct basic_runtime_format_string {
7667
15.1M
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
scn::v3::detail::basic_runtime_format_string<char>::basic_runtime_format_string(std::__1::basic_string_view<char, std::__1::char_traits<char> >)
Line
Count
Source
7667
10.5M
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
scn::v3::detail::basic_runtime_format_string<wchar_t>::basic_runtime_format_string(std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >)
Line
Count
Source
7667
4.57M
    basic_runtime_format_string(std::basic_string_view<CharT> s) : str(s) {}
7668
7669
    basic_runtime_format_string(const basic_runtime_format_string&) = delete;
7670
    basic_runtime_format_string(basic_runtime_format_string&&) = delete;
7671
    basic_runtime_format_string& operator=(const basic_runtime_format_string&) =
7672
        delete;
7673
    basic_runtime_format_string& operator=(basic_runtime_format_string&&) =
7674
        delete;
7675
    ~basic_runtime_format_string() = default;
7676
7677
    std::basic_string_view<CharT> str;
7678
};
7679
}  // namespace detail
7680
7681
/**
7682
 * Create a runtime format string
7683
 *
7684
 * Can be used to avoid compile-time format string checking
7685
 *
7686
 * \ingroup format-string
7687
 */
7688
inline detail::basic_runtime_format_string<char> runtime_format(
7689
    std::string_view s)
7690
10.5M
{
7691
10.5M
    return s;
7692
10.5M
}
7693
inline detail::basic_runtime_format_string<wchar_t> runtime_format(
7694
    std::wstring_view s)
7695
4.57M
{
7696
4.57M
    return s;
7697
4.57M
}
7698
7699
namespace detail {
7700
struct compile_string {};
7701
7702
template <typename Str>
7703
inline constexpr bool is_compile_string_v =
7704
    std::is_base_of_v<compile_string, Str>;
7705
7706
template <typename Scanner, typename = void>
7707
inline constexpr bool scanner_has_format_specs_member_v = false;
7708
template <typename Scanner>
7709
inline constexpr bool scanner_has_format_specs_member_v<
7710
    Scanner,
7711
    std::void_t<decltype(SCN_DECLVAL(Scanner&)._format_specs())>> = true;
7712
7713
template <typename T, typename Source, typename Ctx, typename ParseCtx>
7714
constexpr typename ParseCtx::iterator parse_format_specs(ParseCtx& parse_ctx)
7715
{
7716
    using char_type = typename ParseCtx::char_type;
7717
    using mapped_type = std::conditional_t<
7718
        mapped_type_constant<T, char_type>::value != arg_type::custom_type,
7719
        std::remove_reference_t<decltype(arg_mapper<char_type>().map(
7720
            SCN_DECLVAL(T&)))>,
7721
        T>;
7722
    auto s = typename Ctx::template scanner_type<mapped_type>{};
7723
    auto it = s.parse(parse_ctx)
7724
                  .transform_error([&](scan_error err) constexpr {
7725
                      parse_ctx.on_error(err.msg());
7726
                      return err;
7727
                  })
7728
                  .value_or(parse_ctx.end());
7729
    if constexpr (scanner_has_format_specs_member_v<decltype(s)>) {
7730
        auto& specs = s._format_specs();
7731
        if ((specs.type == presentation_type::regex ||
7732
             specs.type == presentation_type::regex_escaped) &&
7733
            !(ranges::range<Source> && ranges::contiguous_range<Source>)) {
7734
            // clang-format off
7735
            parse_ctx.on_error("Cannot read a regex from a non-contiguous source");
7736
            // clang-format on
7737
        }
7738
    }
7739
    return it;
7740
}
7741
7742
template <typename CharT, typename Source, typename... Args>
7743
class format_string_checker {
7744
public:
7745
    using parse_context_type = compile_parse_context<CharT>;
7746
    static constexpr auto num_args = sizeof...(Args);
7747
7748
    explicit constexpr format_string_checker(
7749
        std::basic_string_view<CharT> format_str)
7750
        : m_parse_context(format_str,
7751
                          num_args,
7752
                          m_types,
7753
                          type_identity<Source>{}),
7754
          m_parse_funcs{&parse_format_specs<Args,
7755
                                            Source,
7756
                                            basic_scan_context<CharT>,
7757
                                            parse_context_type>...},
7758
          m_types{arg_type_constant<Args, CharT>::value...}
7759
    {
7760
    }
7761
7762
    constexpr void on_literal_text(const CharT* begin, const CharT* end) const
7763
    {
7764
        // TODO: Do we want to validate Unicode in format strings?
7765
        // We're dealing with text, so we probably do.
7766
        // We could do codeunit-to-codeunit matching,
7767
        // but that could get messy wrt. whitespace matching.
7768
        // It's simpler to not allow nonsense.
7769
        while (begin != end) {
7770
            const auto len = code_point_length_by_starting_code_unit(*begin);
7771
            if (SCN_UNLIKELY(len == 0 ||
7772
                             static_cast<size_t>(end - begin) < len)) {
7773
                return on_error("Invalid encoding in format string");
7774
            }
7775
7776
            const auto cp = decode_code_point_exhaustive(
7777
                std::basic_string_view<CharT>{begin, len});
7778
            if (SCN_UNLIKELY(cp >= invalid_code_point)) {
7779
                return on_error("Invalid encoding in format string");
7780
            }
7781
7782
            begin += len;
7783
        }
7784
    }
7785
7786
    constexpr auto on_arg_id()
7787
    {
7788
        return m_parse_context.next_arg_id();
7789
    }
7790
    constexpr auto on_arg_id(std::size_t id)
7791
    {
7792
        m_parse_context.check_arg_id(id);
7793
        return id;
7794
    }
7795
7796
    constexpr void on_replacement_field(size_t id, const CharT*)
7797
    {
7798
        m_parse_context.check_arg_can_be_read(id);
7799
        set_arg_as_read(id);
7800
7801
        if (m_types[id] == arg_type::narrow_regex_matches_type ||
7802
            m_types[id] == arg_type::wide_regex_matches_type) {
7803
            // clang-format off
7804
            return on_error("Regular expression needs to be specified when reading regex_matches");
7805
            // clang-format on
7806
        }
7807
    }
7808
7809
    constexpr const CharT* on_format_specs(std::size_t id,
7810
                                           const CharT* begin,
7811
                                           const CharT*)
7812
    {
7813
        m_parse_context.check_arg_can_be_read(id);
7814
        set_arg_as_read(id);
7815
        m_parse_context.advance_to(begin);
7816
        return id < num_args ? m_parse_funcs[id](m_parse_context) : begin;
7817
    }
7818
7819
    constexpr void check_args_exhausted() const
7820
    {
7821
        if (num_args == 0) {
7822
            return;
7823
        }
7824
        for (auto is_set : m_visited_args) {
7825
            if (!is_set) {
7826
                return on_error("Argument list not exhausted");
7827
            }
7828
        }
7829
    }
7830
7831
    void on_error(const char* msg) const
7832
    {
7833
        SCN_UNLIKELY_ATTR
7834
        m_parse_context.on_error(msg);
7835
    }
7836
7837
    // Only to satisfy the concept and eliminate compiler errors,
7838
    // because errors are reported by failing to compile on_error above
7839
    // (it's not constexpr)
7840
    constexpr explicit operator bool() const
7841
    {
7842
        return true;
7843
    }
7844
    constexpr scan_error get_error() const
7845
    {
7846
        return {};
7847
    }
7848
7849
private:
7850
    constexpr void set_arg_as_read(size_t id)
7851
    {
7852
        if (id >= num_args) {
7853
            return on_error("Invalid out-of-range argument ID");
7854
        }
7855
        if (m_visited_args[id]) {
7856
            return on_error("Argument with this ID already scanned");
7857
        }
7858
        m_visited_args[id] = true;
7859
    }
7860
7861
    using parse_func = const CharT* (*)(parse_context_type&);
7862
7863
    parse_context_type m_parse_context;
7864
    parse_func m_parse_funcs[num_args > 0 ? num_args : 1];
7865
    arg_type m_types[num_args > 0 ? num_args : 1];
7866
    bool m_visited_args[num_args > 0 ? num_args : 1] = {false};
7867
};
7868
7869
template <typename Source, typename... Args, typename Str>
7870
auto check_format_string(const Str&)
7871
    -> std::enable_if_t<!is_compile_string_v<Str>>
7872
{
7873
    // TODO: SCN_ENFORE_COMPILE_STRING?
7874
#if 0  // SCN_ENFORE_COMPILE_STRING
7875
    static_assert(dependent_false<Str>::value,
7876
              "SCN_ENFORCE_COMPILE_STRING requires all format "
7877
              "strings to use SCN_STRING.");
7878
#endif
7879
}
7880
7881
template <typename Source, typename... Args, typename Str>
7882
auto check_format_string(Str format_str)
7883
    -> std::enable_if_t<is_compile_string_v<Str>>
7884
{
7885
    using char_type = typename Str::char_type;
7886
7887
    SCN_GCC_PUSH
7888
    SCN_GCC_IGNORE("-Wconversion")
7889
    constexpr auto s = std::basic_string_view<char_type>{format_str};
7890
    SCN_GCC_POP
7891
7892
    using checker = format_string_checker<char_type, Source, Args...>;
7893
    constexpr bool invalid_format =
7894
        (parse_format_string<true>(s, checker(s)), true);
7895
    SCN_UNUSED(invalid_format);
7896
}
7897
7898
template <typename CharT, std::size_t N>
7899
constexpr std::basic_string_view<CharT> compile_string_to_view(
7900
    const CharT (&s)[N])
7901
{
7902
    return {s, N - 1};
7903
}
7904
template <typename CharT>
7905
constexpr std::basic_string_view<CharT> compile_string_to_view(
7906
    std::basic_string_view<CharT> s)
7907
{
7908
    return s;
7909
}
7910
}  // namespace detail
7911
7912
#define SCN_STRING_IMPL(s, base, expl)                                       \
7913
    [] {                                                                     \
7914
        struct SCN_COMPILE_STRING : base {                                   \
7915
            using char_type = ::scn::detail::remove_cvref_t<decltype(s[0])>; \
7916
            SCN_MAYBE_UNUSED constexpr expl                                  \
7917
            operator ::std::basic_string_view<char_type>() const             \
7918
            {                                                                \
7919
                return ::scn::detail::compile_string_to_view<char_type>(s);  \
7920
            }                                                                \
7921
        };                                                                   \
7922
        return SCN_COMPILE_STRING{};                                         \
7923
    }()
7924
7925
#define SCN_STRING(s) SCN_STRING_IMPL(s, ::scn::detail::compile_string, )
7926
7927
/**
7928
 * Compile-time format string
7929
 *
7930
 * \ingroup format-string
7931
 */
7932
template <typename CharT, typename Source, typename... Args>
7933
class basic_scan_format_string {
7934
public:
7935
    SCN_CLANG_PUSH
7936
#if SCN_CLANG >= SCN_COMPILER(10, 0, 0)
7937
    SCN_CLANG_IGNORE("-Wc++20-compat")  // false positive about consteval
7938
#endif
7939
    template <
7940
        typename S,
7941
        std::enable_if_t<
7942
            std::is_convertible_v<const S&, std::basic_string_view<CharT>> &&
7943
            detail::is_not_self<S, basic_scan_format_string>>* = nullptr>
7944
    SCN_CONSTEVAL basic_scan_format_string(const S& s) : m_str(s)
7945
    {
7946
#if SCN_HAS_CONSTEVAL
7947
        using checker = detail::format_string_checker<CharT, Source, Args...>;
7948
        const auto e = detail::parse_format_string<true>(m_str, checker(s));
7949
        SCN_UNUSED(e);
7950
#else
7951
        detail::check_format_string<Source, Args...>(s);
7952
#endif
7953
    }
7954
    SCN_CLANG_POP
7955
7956
    template <
7957
        typename OtherSource,
7958
        std::enable_if_t<std::is_same_v<detail::remove_cvref_t<Source>,
7959
                                        detail::remove_cvref_t<OtherSource>> &&
7960
                         ranges::borrowed_range<Source> ==
7961
                             ranges::borrowed_range<OtherSource>>* = nullptr>
7962
    constexpr basic_scan_format_string(
7963
        const basic_scan_format_string<CharT, OtherSource, Args...>& other)
7964
        : m_str(other.get())
7965
    {
7966
    }
7967
7968
    basic_scan_format_string(detail::basic_runtime_format_string<CharT> r)
7969
        : m_str(r.str)
7970
15.1M
    {
7971
15.1M
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
311k
    {
7971
311k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
300k
    {
7971
300k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
393k
    {
7971
393k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
339k
    {
7971
339k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
400k
    {
7971
400k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
343k
    {
7971
343k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
312k
    {
7971
312k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
301k
    {
7971
301k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
394k
    {
7971
394k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
341k
    {
7971
341k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
401k
    {
7971
401k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
344k
    {
7971
344k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
78.3k
    {
7971
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
78.3k
    {
7971
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
78.4k
    {
7971
78.4k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
78.3k
    {
7971
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
78.6k
    {
7971
78.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
78.4k
    {
7971
78.4k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
78.3k
    {
7971
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
78.3k
    {
7971
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
78.4k
    {
7971
78.4k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
78.3k
    {
7971
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
78.6k
    {
7971
78.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
78.4k
    {
7971
78.4k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
864k
    {
7971
864k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
932k
    {
7971
932k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
942k
    {
7971
942k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
918k
    {
7971
918k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
990k
    {
7971
990k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
1.00M
    {
7971
1.00M
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
148k
    {
7971
148k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
149k
    {
7971
149k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
150k
    {
7971
150k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
148k
    {
7971
148k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
149k
    {
7971
149k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
150k
    {
7971
150k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
133k
    {
7971
133k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
133k
    {
7971
133k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
147k
    {
7971
147k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
721k
    {
7971
721k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
721k
    {
7971
721k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
721k
    {
7971
721k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
31.8k
    {
7971
31.8k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
31.8k
    {
7971
31.8k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
31.8k
    {
7971
31.8k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
31.8k
    {
7971
31.8k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, bool>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
31.8k
    {
7971
31.8k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void*>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
31.8k
    {
7971
31.8k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
31.8k
    {
7971
31.8k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
31.8k
    {
7971
31.8k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<char>)
Line
Count
Source
7970
31.8k
    {
7971
31.8k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
63.6k
    {
7971
63.6k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
63.6k
    {
7971
63.6k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, unsigned int>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
63.6k
    {
7971
63.6k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, double>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
63.6k
    {
7971
63.6k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, bool>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
63.6k
    {
7971
63.6k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void*>::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
63.6k
    {
7971
63.6k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
63.6k
    {
7971
63.6k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
63.6k
    {
7971
63.6k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::basic_scan_format_string(scn::v3::detail::basic_runtime_format_string<wchar_t>)
Line
Count
Source
7970
63.6k
    {
7971
63.6k
    }
7972
7973
    constexpr operator std::basic_string_view<CharT>() const
7974
15.1M
    {
7975
15.1M
        return m_str;
7976
15.1M
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
311k
    {
7975
311k
        return m_str;
7976
311k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
300k
    {
7975
300k
        return m_str;
7976
300k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
393k
    {
7975
393k
        return m_str;
7976
393k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
339k
    {
7975
339k
        return m_str;
7976
339k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
400k
    {
7975
400k
        return m_str;
7976
400k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
343k
    {
7975
343k
        return m_str;
7976
343k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
312k
    {
7975
312k
        return m_str;
7976
312k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
301k
    {
7975
301k
        return m_str;
7976
301k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
394k
    {
7975
394k
        return m_str;
7976
394k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
341k
    {
7975
341k
        return m_str;
7976
341k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
401k
    {
7975
401k
        return m_str;
7976
401k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
344k
    {
7975
344k
        return m_str;
7976
344k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
78.3k
    {
7975
78.3k
        return m_str;
7976
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
78.3k
    {
7975
78.3k
        return m_str;
7976
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
78.4k
    {
7975
78.4k
        return m_str;
7976
78.4k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
78.3k
    {
7975
78.3k
        return m_str;
7976
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
78.6k
    {
7975
78.6k
        return m_str;
7976
78.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
78.4k
    {
7975
78.4k
        return m_str;
7976
78.4k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
78.3k
    {
7975
78.3k
        return m_str;
7976
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
78.3k
    {
7975
78.3k
        return m_str;
7976
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
78.4k
    {
7975
78.4k
        return m_str;
7976
78.4k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
78.3k
    {
7975
78.3k
        return m_str;
7976
78.3k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
78.6k
    {
7975
78.6k
        return m_str;
7976
78.6k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
78.4k
    {
7975
78.4k
        return m_str;
7976
78.4k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
864k
    {
7975
864k
        return m_str;
7976
864k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
932k
    {
7975
932k
        return m_str;
7976
932k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
942k
    {
7975
942k
        return m_str;
7976
942k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
918k
    {
7975
918k
        return m_str;
7976
918k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
990k
    {
7975
990k
        return m_str;
7976
990k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
1.00M
    {
7975
1.00M
        return m_str;
7976
1.00M
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
148k
    {
7975
148k
        return m_str;
7976
148k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
149k
    {
7975
149k
        return m_str;
7976
149k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
150k
    {
7975
150k
        return m_str;
7976
150k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
148k
    {
7975
148k
        return m_str;
7976
148k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
149k
    {
7975
149k
        return m_str;
7976
149k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
150k
    {
7975
150k
        return m_str;
7976
150k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
133k
    {
7975
133k
        return m_str;
7976
133k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
133k
    {
7975
133k
        return m_str;
7976
133k
    }
scn::v3::basic_scan_format_string<char, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
147k
    {
7975
147k
        return m_str;
7976
147k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
721k
    {
7975
721k
        return m_str;
7976
721k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
721k
    {
7975
721k
        return m_str;
7976
721k
    }
scn::v3::basic_scan_format_string<wchar_t, scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
721k
    {
7975
721k
        return m_str;
7976
721k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, char>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
31.8k
    {
7975
31.8k
        return m_str;
7976
31.8k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
31.8k
    {
7975
31.8k
        return m_str;
7976
31.8k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, unsigned int>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
31.8k
    {
7975
31.8k
        return m_str;
7976
31.8k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, double>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
31.8k
    {
7975
31.8k
        return m_str;
7976
31.8k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, bool>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
31.8k
    {
7975
31.8k
        return m_str;
7976
31.8k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, void*>::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
31.8k
    {
7975
31.8k
        return m_str;
7976
31.8k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
31.8k
    {
7975
31.8k
        return m_str;
7976
31.8k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
31.8k
    {
7975
31.8k
        return m_str;
7976
31.8k
    }
scn::v3::basic_scan_format_string<char, std::__1::basic_string_view<char, std::__1::char_traits<char> >&, std::__1::basic_string_view<char, std::__1::char_traits<char> > >::operator std::__1::basic_string_view<char, std::__1::char_traits<char> >() const
Line
Count
Source
7974
31.8k
    {
7975
31.8k
        return m_str;
7976
31.8k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, wchar_t>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
63.6k
    {
7975
63.6k
        return m_str;
7976
63.6k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
63.6k
    {
7975
63.6k
        return m_str;
7976
63.6k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, unsigned int>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
63.6k
    {
7975
63.6k
        return m_str;
7976
63.6k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, double>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
63.6k
    {
7975
63.6k
        return m_str;
7976
63.6k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, bool>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
63.6k
    {
7975
63.6k
        return m_str;
7976
63.6k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, void*>::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
63.6k
    {
7975
63.6k
        return m_str;
7976
63.6k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
63.6k
    {
7975
63.6k
        return m_str;
7976
63.6k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
63.6k
    {
7975
63.6k
        return m_str;
7976
63.6k
    }
scn::v3::basic_scan_format_string<wchar_t, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >&, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >::operator std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> >() const
Line
Count
Source
7974
63.6k
    {
7975
63.6k
        return m_str;
7976
63.6k
    }
7977
    constexpr std::basic_string_view<CharT> get() const
7978
    {
7979
        return m_str;
7980
    }
7981
7982
private:
7983
    std::basic_string_view<CharT> m_str;
7984
};
7985
7986
namespace detail {
7987
class locale_ref {
7988
#if !SCN_DISABLE_LOCALE
7989
public:
7990
18.3M
    constexpr locale_ref() = default;
7991
7992
    template <typename Locale>
7993
    explicit locale_ref(const Locale& loc);
7994
7995
    constexpr explicit operator bool() const noexcept
7996
0
    {
7997
0
        return m_locale != nullptr;
7998
0
    }
7999
8000
    template <typename Locale>
8001
    Locale get() const;
8002
8003
private:
8004
    const void* m_locale{nullptr};
8005
#else
8006
public:
8007
    constexpr locale_ref() = default;
8008
8009
    template <typename T>
8010
    constexpr explicit locale_ref(T&&)
8011
    {
8012
    }
8013
8014
    constexpr explicit operator bool() const noexcept
8015
    {
8016
        return true;
8017
    }
8018
#endif
8019
};
8020
}  // namespace detail
8021
8022
/////////////////////////////////////////////////////////////////
8023
// scan_context
8024
/////////////////////////////////////////////////////////////////
8025
8026
namespace detail {
8027
template <typename I>
8028
using apply_cmp_with_nullptr = decltype(SCN_DECLVAL(const I&) == nullptr);
8029
template <typename I>
8030
inline constexpr bool is_comparable_with_nullptr =
8031
    mp_valid_v<apply_cmp_with_nullptr, I>;
8032
8033
template <typename Args>
8034
class scan_context_base {
8035
public:
8036
    /// Get argument at index `id`
8037
    constexpr auto arg(size_t id) const noexcept
8038
11.1M
    {
8039
11.1M
        return m_args.get(id);
8040
11.1M
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> > >::arg(unsigned long) const
Line
Count
Source
8038
8.37M
    {
8039
8.37M
        return m_args.get(id);
8040
8.37M
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> > >::arg(unsigned long) const
Line
Count
Source
8038
2.80M
    {
8039
2.80M
        return m_args.get(id);
8040
2.80M
    }
8041
8042
    constexpr const Args& args() const
8043
12.9k
    {
8044
12.9k
        return m_args;
8045
12.9k
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> > >::args() const
Line
Count
Source
8043
6.82k
    {
8044
6.82k
        return m_args;
8045
6.82k
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> > >::args() const
Line
Count
Source
8043
6.16k
    {
8044
6.16k
        return m_args;
8045
6.16k
    }
8046
8047
    SCN_NODISCARD constexpr locale_ref locale() const
8048
10.7M
    {
8049
10.7M
        return m_locale;
8050
10.7M
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> > >::locale() const
Line
Count
Source
8048
8.21M
    {
8049
8.21M
        return m_locale;
8050
8.21M
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> > >::locale() const
Line
Count
Source
8048
2.49M
    {
8049
2.49M
        return m_locale;
8050
2.49M
    }
8051
8052
protected:
8053
    scan_context_base(Args args, locale_ref loc)
8054
        : m_args(SCN_MOVE(args)), m_locale(SCN_MOVE(loc))
8055
11.7M
    {
8056
11.7M
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> > >::scan_context_base(scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >, scn::v3::detail::locale_ref)
Line
Count
Source
8055
8.48M
    {
8056
8.48M
    }
scn::v3::detail::scan_context_base<scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> > >::scan_context_base(scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >, scn::v3::detail::locale_ref)
Line
Count
Source
8055
3.26M
    {
8056
3.26M
    }
8057
8058
    Args m_args;
8059
    locale_ref m_locale;
8060
};
8061
}  // namespace detail
8062
8063
/**
8064
 * \defgroup ctx Contexts and scanners
8065
 *
8066
 * \brief Lower-level APIs used for scanning individual values
8067
 *
8068
 * \section user-defined Scanning user-defined types
8069
 *
8070
 * User-defined types can be scanned by specializing the class template
8071
 * `scn::scanner`.
8072
 *
8073
 * \code{.cpp}
8074
 * struct mytype {
8075
 *   int key;
8076
 *   std::string value;
8077
 * };
8078
 *
8079
 * template <>
8080
 * struct scn::scanner<mytype> {
8081
 *   template <typename ParseContext>
8082
 *   constexpr auto parse(ParseCtx& pctx)
8083
 *     -> scan_expected<typename ParseContext::iterator> {
8084
 *     // parse() implementation just returning begin():
8085
 *     // only permits empty format specifiers
8086
 *     return pctx.begin();
8087
 *   }
8088
 *
8089
 *   template <typename Context>
8090
 *   auto scan(mytype& val, Context& ctx)
8091
 *     -> scan_expected<typename Context::iterator> {
8092
 *     return scn::scan<int, std::string>(ctx.range(), "{}: {}")
8093
 *       .transform([&](auto result) {
8094
 *         std::tie(val.key, val.value) = std::move(result->values());
8095
 *         return result.begin();
8096
 *       });
8097
 *   }
8098
 * };
8099
 * \endcode
8100
 *
8101
 * See also
8102
 * \ref g-usertypes
8103
 */
8104
8105
/**
8106
 * Scanning context.
8107
 *
8108
 * \ingroup ctx
8109
 */
8110
template <typename CharT>
8111
class basic_scan_context : public detail::scan_context_base<
8112
                               basic_scan_args<basic_scan_context<CharT>>> {
8113
    using base = detail::scan_context_base<basic_scan_args<basic_scan_context>>;
8114
8115
public:
8116
    /// Character type of the input
8117
    using char_type = CharT;
8118
    using buffer_type = detail::basic_scan_buffer<char_type>;
8119
    using range_type = typename buffer_type::range_type;
8120
    using iterator = ranges::iterator_t<range_type>;
8121
    using sentinel = ranges::sentinel_t<range_type>;
8122
    using parse_context_type = basic_scan_parse_context<char_type>;
8123
8124
    using args_type = basic_scan_args<basic_scan_context>;
8125
    using arg_type = basic_scan_arg<basic_scan_context>;
8126
8127
    /**
8128
     * The scanner type associated with this scanning context.
8129
     */
8130
    template <typename T>
8131
    using scanner_type = scanner<T, char_type>;
8132
8133
    constexpr basic_scan_context(iterator curr,
8134
                                 args_type a,
8135
                                 detail::locale_ref loc = {})
8136
        : base(SCN_MOVE(a), loc), m_current(curr)
8137
5.32M
    {
8138
5.32M
    }
scn::v3::basic_scan_context<char>::basic_scan_context(scn::v3::detail::basic_scan_buffer<char>::forward_iterator, scn::v3::basic_scan_args<scn::v3::basic_scan_context<char> >, scn::v3::detail::locale_ref)
Line
Count
Source
8137
4.16M
    {
8138
4.16M
    }
scn::v3::basic_scan_context<wchar_t>::basic_scan_context(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator, scn::v3::basic_scan_args<scn::v3::basic_scan_context<wchar_t> >, scn::v3::detail::locale_ref)
Line
Count
Source
8137
1.16M
    {
8138
1.16M
    }
8139
8140
    basic_scan_context(const basic_scan_context&) = delete;
8141
    basic_scan_context& operator=(const basic_scan_context&) = delete;
8142
8143
    basic_scan_context(basic_scan_context&&) = default;
8144
    basic_scan_context& operator=(basic_scan_context&&) = default;
8145
    ~basic_scan_context() = default;
8146
8147
    /**
8148
     * Returns an iterator pointing to the current position in the source
8149
     * range.
8150
     */
8151
    constexpr iterator begin() const
8152
14.7M
    {
8153
14.7M
        return m_current;
8154
14.7M
    }
scn::v3::basic_scan_context<char>::begin() const
Line
Count
Source
8152
12.0M
    {
8153
12.0M
        return m_current;
8154
12.0M
    }
scn::v3::basic_scan_context<wchar_t>::begin() const
Line
Count
Source
8152
2.64M
    {
8153
2.64M
        return m_current;
8154
2.64M
    }
8155
8156
    /**
8157
     * Returns a sentinel pointing to the end of the source range.
8158
     */
8159
    constexpr sentinel end() const
8160
5.10M
    {
8161
5.10M
        return ranges::default_sentinel;
8162
5.10M
    }
scn::v3::basic_scan_context<char>::end() const
Line
Count
Source
8160
4.09M
    {
8161
4.09M
        return ranges::default_sentinel;
8162
4.09M
    }
scn::v3::basic_scan_context<wchar_t>::end() const
Line
Count
Source
8160
1.01M
    {
8161
1.01M
        return ranges::default_sentinel;
8162
1.01M
    }
8163
8164
    /**
8165
     * Returns a subrange over `[begin(), end())`
8166
     */
8167
    constexpr auto range() const
8168
5.10M
    {
8169
5.10M
        return ranges::subrange{begin(), end()};
8170
5.10M
    }
scn::v3::basic_scan_context<char>::range() const
Line
Count
Source
8168
4.09M
    {
8169
4.09M
        return ranges::subrange{begin(), end()};
8170
4.09M
    }
scn::v3::basic_scan_context<wchar_t>::range() const
Line
Count
Source
8168
1.01M
    {
8169
1.01M
        return ranges::subrange{begin(), end()};
8170
1.01M
    }
8171
8172
    /// Advances the beginning of the source range to `it`
8173
    void advance_to(iterator it)
8174
4.28M
    {
8175
4.28M
        m_current = SCN_MOVE(it);
8176
4.28M
    }
scn::v3::basic_scan_context<char>::advance_to(scn::v3::detail::basic_scan_buffer<char>::forward_iterator)
Line
Count
Source
8174
3.81M
    {
8175
3.81M
        m_current = SCN_MOVE(it);
8176
3.81M
    }
scn::v3::basic_scan_context<wchar_t>::advance_to(scn::v3::detail::basic_scan_buffer<wchar_t>::forward_iterator)
Line
Count
Source
8174
467k
    {
8175
467k
        m_current = SCN_MOVE(it);
8176
467k
    }
8177
8178
private:
8179
    iterator m_current;
8180
};
8181
8182
namespace detail {
8183
template <typename T, typename ParseCtx>
8184
constexpr scan_expected<typename ParseCtx::iterator>
8185
scanner_parse_for_builtin_type(ParseCtx& pctx, format_specs& specs);
8186
8187
template <typename T, typename Context>
8188
scan_expected<typename Context::iterator>
8189
scanner_scan_for_builtin_type(T& val, Context& ctx, const format_specs& specs);
8190
}  // namespace detail
8191
8192
/////////////////////////////////////////////////////////////////
8193
// scanner
8194
/////////////////////////////////////////////////////////////////
8195
8196
/**
8197
 * `scanner` specialization for all built-in types
8198
 *
8199
 * \ingroup ctx
8200
 */
8201
template <typename T, typename CharT>
8202
struct scanner<T,
8203
               CharT,
8204
               std::enable_if_t<detail::arg_type_constant<T, CharT>::value !=
8205
                                    detail::arg_type::custom_type &&
8206
                                !detail::is_type_disabled<T>>> {
8207
    template <typename ParseCtx>
8208
    constexpr auto parse(ParseCtx& pctx)
8209
        -> scan_expected<typename ParseCtx::iterator>
8210
    {
8211
        return detail::scanner_parse_for_builtin_type<T>(pctx, m_specs);
8212
    }
8213
8214
    template <typename Context>
8215
    scan_expected<typename Context::iterator> scan(T& val, Context& ctx) const
8216
    {
8217
        return detail::scanner_scan_for_builtin_type(val, ctx, m_specs);
8218
    }
8219
8220
    constexpr auto& _format_specs()
8221
    {
8222
        return m_specs;
8223
    }
8224
8225
private:
8226
    detail::format_specs m_specs;
8227
};
8228
8229
namespace detail {
8230
template <typename T, typename ParseCtx>
8231
constexpr scan_expected<typename ParseCtx::iterator>
8232
scanner_parse_for_builtin_type(ParseCtx& pctx, format_specs& specs)
8233
{
8234
    using char_type = typename ParseCtx::char_type;
8235
8236
    auto begin = pctx.begin();
8237
    const auto end = pctx.end();
8238
    if (begin == end) {
8239
        return begin;
8240
    }
8241
8242
    using handler_type = specs_setter;
8243
    const auto type = arg_type_constant<T, char_type>::value;
8244
    auto checker =
8245
        detail::specs_checker<handler_type>(handler_type(specs), type);
8246
8247
    const auto it =
8248
        detail::parse_format_specs(to_address(begin), to_address(end), checker);
8249
    if (auto e = checker.get_error(); SCN_UNLIKELY(!e)) {
8250
        return unexpected(e);
8251
    }
8252
8253
    switch (type) {
8254
        case arg_type::none_type:
8255
            SCN_FALLTHROUGH;
8256
        case arg_type::custom_type:
8257
            SCN_ENSURE(false);
8258
            break;
8259
8260
        case arg_type::bool_type:
8261
            check_bool_type_specs(specs, checker);
8262
            break;
8263
8264
        case arg_type::schar_type:
8265
        case arg_type::short_type:
8266
        case arg_type::int_type:
8267
        case arg_type::long_type:
8268
        case arg_type::llong_type:
8269
        case arg_type::uchar_type:
8270
        case arg_type::ushort_type:
8271
        case arg_type::uint_type:
8272
        case arg_type::ulong_type:
8273
        case arg_type::ullong_type:
8274
            check_int_type_specs(specs, checker);
8275
            break;
8276
8277
        case arg_type::narrow_character_type:
8278
        case arg_type::wide_character_type:
8279
        case arg_type::code_point_type:
8280
            check_char_type_specs(specs, checker);
8281
            break;
8282
8283
        case arg_type::float_type:
8284
        case arg_type::double_type:
8285
        case arg_type::ldouble_type:
8286
            check_float_type_specs(specs, checker);
8287
            break;
8288
8289
        case arg_type::narrow_string_type:
8290
        case arg_type::narrow_string_view_type:
8291
        case arg_type::wide_string_type:
8292
        case arg_type::wide_string_view_type:
8293
            check_string_type_specs(specs, checker);
8294
            break;
8295
8296
        case arg_type::pointer_type:
8297
            check_pointer_type_specs(specs, checker);
8298
            break;
8299
8300
        case arg_type::narrow_regex_matches_type:
8301
        case arg_type::wide_regex_matches_type:
8302
            check_regex_type_specs(specs, checker);
8303
            break;
8304
8305
            SCN_CLANG_PUSH
8306
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8307
8308
        default:
8309
            SCN_ENSURE(false);
8310
            SCN_UNREACHABLE;
8311
8312
            SCN_CLANG_POP
8313
    }
8314
8315
    if (auto e = checker.get_error(); SCN_UNLIKELY(!e)) {
8316
        return unexpected(e);
8317
    }
8318
8319
    return {it};
8320
}
8321
}  // namespace detail
8322
8323
/**
8324
 * Type for discarding any scanned value.
8325
 * Example:
8326
 *
8327
 * \code{.cpp}
8328
 * auto r = scn::scan<scn::discard<int>>("42", "{}");
8329
 * // r.has_value() == true
8330
 * // decltype(r->value()) is scn::discard<int>
8331
 * \endcode
8332
 *
8333
 * \ingroup format-string
8334
 */
8335
template <typename T>
8336
struct discard {
8337
    constexpr discard() = default;
8338
8339
    constexpr discard(const T&) noexcept {}
8340
    constexpr discard(T&&) noexcept {}
8341
8342
    constexpr discard& operator=(const T&) noexcept
8343
    {
8344
        return *this;
8345
    }
8346
    constexpr discard& operator=(T&&) noexcept
8347
    {
8348
        return *this;
8349
    }
8350
};
8351
8352
template <typename T, typename CharT>
8353
struct scanner<discard<T>, CharT> : public scanner<T, CharT> {
8354
    template <typename Context>
8355
    auto scan(discard<T>&, Context& ctx) const
8356
    {
8357
        T val{};
8358
        return scanner<T, CharT>::scan(val, ctx);
8359
    }
8360
};
8361
8362
namespace detail {
8363
template <typename Range>
8364
scan_expected<ranges::iterator_t<Range>> internal_skip_classic_whitespace(
8365
    Range r,
8366
    bool allow_exhaustion);
8367
8368
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(T, Context) \
8369
    extern template scan_expected<Context::iterator>         \
8370
    scanner_scan_for_builtin_type(T&, Context&, const format_specs&);
8371
8372
#define SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(Context)                   \
8373
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(char, Context)                \
8374
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wchar_t, Context)             \
8375
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context)         \
8376
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(signed char, Context)         \
8377
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(short, Context)               \
8378
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(int, Context)                 \
8379
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long, Context)                \
8380
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long long, Context)           \
8381
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned char, Context)       \
8382
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned short, Context)      \
8383
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned int, Context)        \
8384
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long, Context)       \
8385
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(unsigned long long, Context)  \
8386
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(float, Context)               \
8387
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(double, Context)              \
8388
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(long double, Context)         \
8389
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::string, Context)         \
8390
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(std::wstring, Context)        \
8391
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(                              \
8392
        std::basic_string_view<Context::char_type>, Context)               \
8393
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(regex_matches, Context)       \
8394
    SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_TYPE(wregex_matches, Context)      \
8395
    extern template scan_expected<ranges::iterator_t<Context::range_type>> \
8396
    internal_skip_classic_whitespace(Context::range_type, bool);
8397
8398
SCN_DECLARE_EXTERN_SCANNER_SCAN_FOR_CTX(scan_context)
8399
8400
}  // namespace detail
8401
8402
/////////////////////////////////////////////////////////////////
8403
// visit_scan_arg
8404
/////////////////////////////////////////////////////////////////
8405
8406
/**
8407
 * Visit a `basic_scan_arg` with `Visitor`.
8408
 * Calls `vis` with the value stored in `arg`.
8409
 * If no value is contained in `arg`, calls `vis` with a `monostate`.
8410
 *
8411
 * \return `vis(x)`, where `x` is either a reference to the value contained
8412
 * in `arg`, or a `basic_scan_arg::handle`.
8413
 */
8414
template <typename Visitor, typename Ctx>
8415
constexpr decltype(auto) visit_scan_arg(Visitor&& vis, basic_scan_arg<Ctx>& arg)
8416
15.7M
{
8417
15.7M
#define SCN_VISIT(Type)                                         \
8418
15.7M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8419
15.7M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8420
15.7M
    }                                                           \
8421
15.7M
    else {                                                      \
8422
15.7M
        return vis(monostate_val);                              \
8423
15.7M
    }
8424
8425
15.7M
    monostate monostate_val{};
8426
8427
15.7M
    switch (arg.m_type) {
8428
770k
        case detail::arg_type::schar_type:
8429
770k
            SCN_VISIT(signed char);
8430
0
        case detail::arg_type::short_type:
8431
0
            SCN_VISIT(short);
8432
972k
        case detail::arg_type::int_type:
8433
972k
            SCN_VISIT(int);
8434
0
        case detail::arg_type::long_type:
8435
0
            SCN_VISIT(long);
8436
958k
        case detail::arg_type::llong_type:
8437
958k
            SCN_VISIT(long long);
8438
743k
        case detail::arg_type::uchar_type:
8439
743k
            SCN_VISIT(unsigned char);
8440
0
        case detail::arg_type::ushort_type:
8441
0
            SCN_VISIT(unsigned short);
8442
857k
        case detail::arg_type::uint_type:
8443
857k
            SCN_VISIT(unsigned);
8444
0
        case detail::arg_type::ulong_type:
8445
0
            SCN_VISIT(unsigned long);
8446
835k
        case detail::arg_type::ullong_type:
8447
835k
            SCN_VISIT(unsigned long long);
8448
30.3k
        case detail::arg_type::pointer_type:
8449
30.3k
            SCN_VISIT(void*);
8450
30.5k
        case detail::arg_type::bool_type:
8451
30.5k
            SCN_VISIT(bool);
8452
18.4k
        case detail::arg_type::narrow_character_type:
8453
18.4k
            SCN_VISIT(char);
8454
11.8k
        case detail::arg_type::wide_character_type:
8455
11.8k
            SCN_VISIT(wchar_t);
8456
0
        case detail::arg_type::code_point_type:
8457
0
            SCN_VISIT(char32_t);
8458
2.29M
        case detail::arg_type::float_type:
8459
2.29M
            SCN_VISIT(float);
8460
2.48M
        case detail::arg_type::double_type:
8461
2.48M
            SCN_VISIT(double);
8462
2.47M
        case detail::arg_type::ldouble_type:
8463
2.47M
            SCN_VISIT(long double);
8464
178k
        case detail::arg_type::narrow_string_view_type:
8465
178k
            SCN_VISIT(std::string_view);
8466
368k
        case detail::arg_type::narrow_string_type:
8467
368k
            SCN_VISIT(std::string);
8468
900k
        case detail::arg_type::wide_string_view_type:
8469
900k
            SCN_VISIT(std::wstring_view);
8470
1.80M
        case detail::arg_type::wide_string_type:
8471
1.80M
            SCN_VISIT(std::wstring);
8472
0
        case detail::arg_type::narrow_regex_matches_type:
8473
0
            SCN_VISIT(regex_matches);
8474
0
        case detail::arg_type::wide_regex_matches_type:
8475
0
            SCN_VISIT(wregex_matches);
8476
8477
0
        case detail::arg_type::custom_type:
8478
0
#if !SCN_DISABLE_TYPE_CUSTOM
8479
0
            return vis(
8480
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8481
#else
8482
            return vis(monostate_val);
8483
#endif
8484
8485
0
            SCN_CLANG_PUSH
8486
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8487
8488
0
            SCN_UNLIKELY_ATTR
8489
0
        case detail::arg_type::none_type:
8490
0
        default: {
8491
0
            return vis(monostate_val);
8492
0
        }
8493
8494
15.7M
            SCN_CLANG_POP
8495
15.7M
    }
8496
8497
0
#undef SCN_VISIT
8498
8499
0
    SCN_ENSURE(false);
8500
0
    SCN_UNREACHABLE;
8501
0
}
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&)
Line
Count
Source
8416
1.59M
{
8417
1.59M
#define SCN_VISIT(Type)                                         \
8418
1.59M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8419
1.59M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8420
1.59M
    }                                                           \
8421
1.59M
    else {                                                      \
8422
1.59M
        return vis(monostate_val);                              \
8423
1.59M
    }
8424
8425
1.59M
    monostate monostate_val{};
8426
8427
1.59M
    switch (arg.m_type) {
8428
78.8k
        case detail::arg_type::schar_type:
8429
78.8k
            SCN_VISIT(signed char);
8430
0
        case detail::arg_type::short_type:
8431
0
            SCN_VISIT(short);
8432
91.8k
        case detail::arg_type::int_type:
8433
91.8k
            SCN_VISIT(int);
8434
0
        case detail::arg_type::long_type:
8435
0
            SCN_VISIT(long);
8436
92.8k
        case detail::arg_type::llong_type:
8437
92.8k
            SCN_VISIT(long long);
8438
69.9k
        case detail::arg_type::uchar_type:
8439
69.9k
            SCN_VISIT(unsigned char);
8440
0
        case detail::arg_type::ushort_type:
8441
0
            SCN_VISIT(unsigned short);
8442
78.7k
        case detail::arg_type::uint_type:
8443
78.7k
            SCN_VISIT(unsigned);
8444
0
        case detail::arg_type::ulong_type:
8445
0
            SCN_VISIT(unsigned long);
8446
79.0k
        case detail::arg_type::ullong_type:
8447
79.0k
            SCN_VISIT(unsigned long long);
8448
742
        case detail::arg_type::pointer_type:
8449
742
            SCN_VISIT(void*);
8450
742
        case detail::arg_type::bool_type:
8451
742
            SCN_VISIT(bool);
8452
742
        case detail::arg_type::narrow_character_type:
8453
742
            SCN_VISIT(char);
8454
0
        case detail::arg_type::wide_character_type:
8455
0
            SCN_VISIT(wchar_t);
8456
0
        case detail::arg_type::code_point_type:
8457
0
            SCN_VISIT(char32_t);
8458
282k
        case detail::arg_type::float_type:
8459
282k
            SCN_VISIT(float);
8460
312k
        case detail::arg_type::double_type:
8461
312k
            SCN_VISIT(double);
8462
317k
        case detail::arg_type::ldouble_type:
8463
317k
            SCN_VISIT(long double);
8464
93.7k
        case detail::arg_type::narrow_string_view_type:
8465
93.7k
            SCN_VISIT(std::string_view);
8466
93.7k
        case detail::arg_type::narrow_string_type:
8467
93.7k
            SCN_VISIT(std::string);
8468
0
        case detail::arg_type::wide_string_view_type:
8469
0
            SCN_VISIT(std::wstring_view);
8470
742
        case detail::arg_type::wide_string_type:
8471
742
            SCN_VISIT(std::wstring);
8472
0
        case detail::arg_type::narrow_regex_matches_type:
8473
0
            SCN_VISIT(regex_matches);
8474
0
        case detail::arg_type::wide_regex_matches_type:
8475
0
            SCN_VISIT(wregex_matches);
8476
8477
0
        case detail::arg_type::custom_type:
8478
0
#if !SCN_DISABLE_TYPE_CUSTOM
8479
0
            return vis(
8480
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8481
#else
8482
            return vis(monostate_val);
8483
#endif
8484
8485
0
            SCN_CLANG_PUSH
8486
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8487
8488
0
            SCN_UNLIKELY_ATTR
8489
0
        case detail::arg_type::none_type:
8490
0
        default: {
8491
0
            return vis(monostate_val);
8492
0
        }
8493
8494
1.59M
            SCN_CLANG_POP
8495
1.59M
    }
8496
8497
0
#undef SCN_VISIT
8498
8499
0
    SCN_ENSURE(false);
8500
0
    SCN_UNREACHABLE;
8501
0
}
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&)
Line
Count
Source
8416
1.48M
{
8417
1.48M
#define SCN_VISIT(Type)                                         \
8418
1.48M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8419
1.48M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8420
1.48M
    }                                                           \
8421
1.48M
    else {                                                      \
8422
1.48M
        return vis(monostate_val);                              \
8423
1.48M
    }
8424
8425
1.48M
    monostate monostate_val{};
8426
8427
1.48M
    switch (arg.m_type) {
8428
78.7k
        case detail::arg_type::schar_type:
8429
78.7k
            SCN_VISIT(signed char);
8430
0
        case detail::arg_type::short_type:
8431
0
            SCN_VISIT(short);
8432
89.5k
        case detail::arg_type::int_type:
8433
89.5k
            SCN_VISIT(int);
8434
0
        case detail::arg_type::long_type:
8435
0
            SCN_VISIT(long);
8436
91.0k
        case detail::arg_type::llong_type:
8437
91.0k
            SCN_VISIT(long long);
8438
69.8k
        case detail::arg_type::uchar_type:
8439
69.8k
            SCN_VISIT(unsigned char);
8440
0
        case detail::arg_type::ushort_type:
8441
0
            SCN_VISIT(unsigned short);
8442
77.8k
        case detail::arg_type::uint_type:
8443
77.8k
            SCN_VISIT(unsigned);
8444
0
        case detail::arg_type::ulong_type:
8445
0
            SCN_VISIT(unsigned long);
8446
78.8k
        case detail::arg_type::ullong_type:
8447
78.8k
            SCN_VISIT(unsigned long long);
8448
0
        case detail::arg_type::pointer_type:
8449
0
            SCN_VISIT(void*);
8450
0
        case detail::arg_type::bool_type:
8451
0
            SCN_VISIT(bool);
8452
0
        case detail::arg_type::narrow_character_type:
8453
0
            SCN_VISIT(char);
8454
0
        case detail::arg_type::wide_character_type:
8455
0
            SCN_VISIT(wchar_t);
8456
0
        case detail::arg_type::code_point_type:
8457
0
            SCN_VISIT(char32_t);
8458
278k
        case detail::arg_type::float_type:
8459
278k
            SCN_VISIT(float);
8460
306k
        case detail::arg_type::double_type:
8461
306k
            SCN_VISIT(double);
8462
309k
        case detail::arg_type::ldouble_type:
8463
309k
            SCN_VISIT(long double);
8464
0
        case detail::arg_type::narrow_string_view_type:
8465
0
            SCN_VISIT(std::string_view);
8466
102k
        case detail::arg_type::narrow_string_type:
8467
102k
            SCN_VISIT(std::string);
8468
0
        case detail::arg_type::wide_string_view_type:
8469
0
            SCN_VISIT(std::wstring_view);
8470
0
        case detail::arg_type::wide_string_type:
8471
0
            SCN_VISIT(std::wstring);
8472
0
        case detail::arg_type::narrow_regex_matches_type:
8473
0
            SCN_VISIT(regex_matches);
8474
0
        case detail::arg_type::wide_regex_matches_type:
8475
0
            SCN_VISIT(wregex_matches);
8476
8477
0
        case detail::arg_type::custom_type:
8478
0
#if !SCN_DISABLE_TYPE_CUSTOM
8479
0
            return vis(
8480
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8481
#else
8482
            return vis(monostate_val);
8483
#endif
8484
8485
0
            SCN_CLANG_PUSH
8486
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8487
8488
0
            SCN_UNLIKELY_ATTR
8489
0
        case detail::arg_type::none_type:
8490
0
        default: {
8491
0
            return vis(monostate_val);
8492
0
        }
8493
8494
1.48M
            SCN_CLANG_POP
8495
1.48M
    }
8496
8497
0
#undef SCN_VISIT
8498
8499
0
    SCN_ENSURE(false);
8500
0
    SCN_UNREACHABLE;
8501
0
}
Unexecuted instantiation: decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::custom_reader<scn::v3::basic_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&)
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&)
Line
Count
Source
8416
4.11M
{
8417
4.11M
#define SCN_VISIT(Type)                                         \
8418
4.11M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8419
4.11M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8420
4.11M
    }                                                           \
8421
4.11M
    else {                                                      \
8422
4.11M
        return vis(monostate_val);                              \
8423
4.11M
    }
8424
8425
4.11M
    monostate monostate_val{};
8426
8427
4.11M
    switch (arg.m_type) {
8428
247k
        case detail::arg_type::schar_type:
8429
247k
            SCN_VISIT(signed char);
8430
0
        case detail::arg_type::short_type:
8431
0
            SCN_VISIT(short);
8432
338k
        case detail::arg_type::int_type:
8433
338k
            SCN_VISIT(int);
8434
0
        case detail::arg_type::long_type:
8435
0
            SCN_VISIT(long);
8436
326k
        case detail::arg_type::llong_type:
8437
326k
            SCN_VISIT(long long);
8438
242k
        case detail::arg_type::uchar_type:
8439
242k
            SCN_VISIT(unsigned char);
8440
0
        case detail::arg_type::ushort_type:
8441
0
            SCN_VISIT(unsigned short);
8442
293k
        case detail::arg_type::uint_type:
8443
293k
            SCN_VISIT(unsigned);
8444
0
        case detail::arg_type::ulong_type:
8445
0
            SCN_VISIT(unsigned long);
8446
278k
        case detail::arg_type::ullong_type:
8447
278k
            SCN_VISIT(unsigned long long);
8448
17.7k
        case detail::arg_type::pointer_type:
8449
17.7k
            SCN_VISIT(void*);
8450
17.8k
        case detail::arg_type::bool_type:
8451
17.8k
            SCN_VISIT(bool);
8452
17.7k
        case detail::arg_type::narrow_character_type:
8453
17.7k
            SCN_VISIT(char);
8454
0
        case detail::arg_type::wide_character_type:
8455
0
            SCN_VISIT(wchar_t);
8456
0
        case detail::arg_type::code_point_type:
8457
0
            SCN_VISIT(char32_t);
8458
675k
        case detail::arg_type::float_type:
8459
675k
            SCN_VISIT(float);
8460
741k
        case detail::arg_type::double_type:
8461
741k
            SCN_VISIT(double);
8462
731k
        case detail::arg_type::ldouble_type:
8463
731k
            SCN_VISIT(long double);
8464
85.2k
        case detail::arg_type::narrow_string_view_type:
8465
85.2k
            SCN_VISIT(std::string_view);
8466
85.2k
        case detail::arg_type::narrow_string_type:
8467
85.2k
            SCN_VISIT(std::string);
8468
0
        case detail::arg_type::wide_string_view_type:
8469
0
            SCN_VISIT(std::wstring_view);
8470
17.7k
        case detail::arg_type::wide_string_type:
8471
17.7k
            SCN_VISIT(std::wstring);
8472
0
        case detail::arg_type::narrow_regex_matches_type:
8473
0
            SCN_VISIT(regex_matches);
8474
0
        case detail::arg_type::wide_regex_matches_type:
8475
0
            SCN_VISIT(wregex_matches);
8476
8477
0
        case detail::arg_type::custom_type:
8478
0
#if !SCN_DISABLE_TYPE_CUSTOM
8479
0
            return vis(
8480
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8481
#else
8482
            return vis(monostate_val);
8483
#endif
8484
8485
0
            SCN_CLANG_PUSH
8486
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8487
8488
0
            SCN_UNLIKELY_ATTR
8489
0
        case detail::arg_type::none_type:
8490
0
        default: {
8491
0
            return vis(monostate_val);
8492
0
        }
8493
8494
4.11M
            SCN_CLANG_POP
8495
4.11M
    }
8496
8497
0
#undef SCN_VISIT
8498
8499
0
    SCN_ENSURE(false);
8500
0
    SCN_UNREACHABLE;
8501
0
}
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >, scn::v3::basic_scan_context<char> >(scn::v3::impl::arg_reader<scn::v3::basic_scan_context<char> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<char> >&)
Line
Count
Source
8416
4.09M
{
8417
4.09M
#define SCN_VISIT(Type)                                         \
8418
4.09M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8419
4.09M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8420
4.09M
    }                                                           \
8421
4.09M
    else {                                                      \
8422
4.09M
        return vis(monostate_val);                              \
8423
4.09M
    }
8424
8425
4.09M
    monostate monostate_val{};
8426
8427
4.09M
    switch (arg.m_type) {
8428
248k
        case detail::arg_type::schar_type:
8429
248k
            SCN_VISIT(signed char);
8430
0
        case detail::arg_type::short_type:
8431
0
            SCN_VISIT(short);
8432
322k
        case detail::arg_type::int_type:
8433
322k
            SCN_VISIT(int);
8434
0
        case detail::arg_type::long_type:
8435
0
            SCN_VISIT(long);
8436
328k
        case detail::arg_type::llong_type:
8437
328k
            SCN_VISIT(long long);
8438
243k
        case detail::arg_type::uchar_type:
8439
243k
            SCN_VISIT(unsigned char);
8440
0
        case detail::arg_type::ushort_type:
8441
0
            SCN_VISIT(unsigned short);
8442
277k
        case detail::arg_type::uint_type:
8443
277k
            SCN_VISIT(unsigned);
8444
0
        case detail::arg_type::ulong_type:
8445
0
            SCN_VISIT(unsigned long);
8446
280k
        case detail::arg_type::ullong_type:
8447
280k
            SCN_VISIT(unsigned long long);
8448
0
        case detail::arg_type::pointer_type:
8449
0
            SCN_VISIT(void*);
8450
0
        case detail::arg_type::bool_type:
8451
0
            SCN_VISIT(bool);
8452
0
        case detail::arg_type::narrow_character_type:
8453
0
            SCN_VISIT(char);
8454
0
        case detail::arg_type::wide_character_type:
8455
0
            SCN_VISIT(wchar_t);
8456
0
        case detail::arg_type::code_point_type:
8457
0
            SCN_VISIT(char32_t);
8458
733k
        case detail::arg_type::float_type:
8459
733k
            SCN_VISIT(float);
8460
786k
        case detail::arg_type::double_type:
8461
786k
            SCN_VISIT(double);
8462
794k
        case detail::arg_type::ldouble_type:
8463
794k
            SCN_VISIT(long double);
8464
0
        case detail::arg_type::narrow_string_view_type:
8465
0
            SCN_VISIT(std::string_view);
8466
74.9k
        case detail::arg_type::narrow_string_type:
8467
74.9k
            SCN_VISIT(std::string);
8468
0
        case detail::arg_type::wide_string_view_type:
8469
0
            SCN_VISIT(std::wstring_view);
8470
0
        case detail::arg_type::wide_string_type:
8471
0
            SCN_VISIT(std::wstring);
8472
0
        case detail::arg_type::narrow_regex_matches_type:
8473
0
            SCN_VISIT(regex_matches);
8474
0
        case detail::arg_type::wide_regex_matches_type:
8475
0
            SCN_VISIT(wregex_matches);
8476
8477
0
        case detail::arg_type::custom_type:
8478
0
#if !SCN_DISABLE_TYPE_CUSTOM
8479
0
            return vis(
8480
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8481
#else
8482
            return vis(monostate_val);
8483
#endif
8484
8485
0
            SCN_CLANG_PUSH
8486
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8487
8488
0
            SCN_UNLIKELY_ATTR
8489
0
        case detail::arg_type::none_type:
8490
0
        default: {
8491
0
            return vis(monostate_val);
8492
0
        }
8493
8494
4.09M
            SCN_CLANG_POP
8495
4.09M
    }
8496
8497
0
#undef SCN_VISIT
8498
8499
0
    SCN_ENSURE(false);
8500
0
    SCN_UNREACHABLE;
8501
0
}
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::default_arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&)
Line
Count
Source
8416
1.25M
{
8417
1.25M
#define SCN_VISIT(Type)                                         \
8418
1.25M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8419
1.25M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8420
1.25M
    }                                                           \
8421
1.25M
    else {                                                      \
8422
1.25M
        return vis(monostate_val);                              \
8423
1.25M
    }
8424
8425
1.25M
    monostate monostate_val{};
8426
8427
1.25M
    switch (arg.m_type) {
8428
11.8k
        case detail::arg_type::schar_type:
8429
11.8k
            SCN_VISIT(signed char);
8430
0
        case detail::arg_type::short_type:
8431
0
            SCN_VISIT(short);
8432
12.5k
        case detail::arg_type::int_type:
8433
12.5k
            SCN_VISIT(int);
8434
0
        case detail::arg_type::long_type:
8435
0
            SCN_VISIT(long);
8436
11.8k
        case detail::arg_type::llong_type:
8437
11.8k
            SCN_VISIT(long long);
8438
11.7k
        case detail::arg_type::uchar_type:
8439
11.7k
            SCN_VISIT(unsigned char);
8440
0
        case detail::arg_type::ushort_type:
8441
0
            SCN_VISIT(unsigned short);
8442
12.4k
        case detail::arg_type::uint_type:
8443
12.4k
            SCN_VISIT(unsigned);
8444
0
        case detail::arg_type::ulong_type:
8445
0
            SCN_VISIT(unsigned long);
8446
11.8k
        case detail::arg_type::ullong_type:
8447
11.8k
            SCN_VISIT(unsigned long long);
8448
668
        case detail::arg_type::pointer_type:
8449
668
            SCN_VISIT(void*);
8450
668
        case detail::arg_type::bool_type:
8451
668
            SCN_VISIT(bool);
8452
0
        case detail::arg_type::narrow_character_type:
8453
0
            SCN_VISIT(char);
8454
668
        case detail::arg_type::wide_character_type:
8455
668
            SCN_VISIT(wchar_t);
8456
0
        case detail::arg_type::code_point_type:
8457
0
            SCN_VISIT(char32_t);
8458
39.4k
        case detail::arg_type::float_type:
8459
39.4k
            SCN_VISIT(float);
8460
40.2k
        case detail::arg_type::double_type:
8461
40.2k
            SCN_VISIT(double);
8462
39.9k
        case detail::arg_type::ldouble_type:
8463
39.9k
            SCN_VISIT(long double);
8464
0
        case detail::arg_type::narrow_string_view_type:
8465
0
            SCN_VISIT(std::string_view);
8466
668
        case detail::arg_type::narrow_string_type:
8467
668
            SCN_VISIT(std::string);
8468
528k
        case detail::arg_type::wide_string_view_type:
8469
528k
            SCN_VISIT(std::wstring_view);
8470
528k
        case detail::arg_type::wide_string_type:
8471
528k
            SCN_VISIT(std::wstring);
8472
0
        case detail::arg_type::narrow_regex_matches_type:
8473
0
            SCN_VISIT(regex_matches);
8474
0
        case detail::arg_type::wide_regex_matches_type:
8475
0
            SCN_VISIT(wregex_matches);
8476
8477
0
        case detail::arg_type::custom_type:
8478
0
#if !SCN_DISABLE_TYPE_CUSTOM
8479
0
            return vis(
8480
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8481
#else
8482
            return vis(monostate_val);
8483
#endif
8484
8485
0
            SCN_CLANG_PUSH
8486
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8487
8488
0
            SCN_UNLIKELY_ATTR
8489
0
        case detail::arg_type::none_type:
8490
0
        default: {
8491
0
            return vis(monostate_val);
8492
0
        }
8493
8494
1.25M
            SCN_CLANG_POP
8495
1.25M
    }
8496
8497
0
#undef SCN_VISIT
8498
8499
0
    SCN_ENSURE(false);
8500
0
    SCN_UNREACHABLE;
8501
0
}
Unexecuted instantiation: decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::custom_reader<scn::v3::basic_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&)
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::arg_reader<scn::v3::impl::basic_contiguous_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&)
Line
Count
Source
8416
1.47M
{
8417
1.47M
#define SCN_VISIT(Type)                                         \
8418
1.47M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8419
1.47M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8420
1.47M
    }                                                           \
8421
1.47M
    else {                                                      \
8422
1.47M
        return vis(monostate_val);                              \
8423
1.47M
    }
8424
8425
1.47M
    monostate monostate_val{};
8426
8427
1.47M
    switch (arg.m_type) {
8428
47.1k
        case detail::arg_type::schar_type:
8429
47.1k
            SCN_VISIT(signed char);
8430
0
        case detail::arg_type::short_type:
8431
0
            SCN_VISIT(short);
8432
58.5k
        case detail::arg_type::int_type:
8433
58.5k
            SCN_VISIT(int);
8434
0
        case detail::arg_type::long_type:
8435
0
            SCN_VISIT(long);
8436
47.3k
        case detail::arg_type::llong_type:
8437
47.3k
            SCN_VISIT(long long);
8438
47.0k
        case detail::arg_type::uchar_type:
8439
47.0k
            SCN_VISIT(unsigned char);
8440
0
        case detail::arg_type::ushort_type:
8441
0
            SCN_VISIT(unsigned short);
8442
58.4k
        case detail::arg_type::uint_type:
8443
58.4k
            SCN_VISIT(unsigned);
8444
0
        case detail::arg_type::ulong_type:
8445
0
            SCN_VISIT(unsigned long);
8446
47.2k
        case detail::arg_type::ullong_type:
8447
47.2k
            SCN_VISIT(unsigned long long);
8448
11.1k
        case detail::arg_type::pointer_type:
8449
11.1k
            SCN_VISIT(void*);
8450
11.2k
        case detail::arg_type::bool_type:
8451
11.2k
            SCN_VISIT(bool);
8452
0
        case detail::arg_type::narrow_character_type:
8453
0
            SCN_VISIT(char);
8454
11.1k
        case detail::arg_type::wide_character_type:
8455
11.1k
            SCN_VISIT(wchar_t);
8456
0
        case detail::arg_type::code_point_type:
8457
0
            SCN_VISIT(char32_t);
8458
122k
        case detail::arg_type::float_type:
8459
122k
            SCN_VISIT(float);
8460
134k
        case detail::arg_type::double_type:
8461
134k
            SCN_VISIT(double);
8462
123k
        case detail::arg_type::ldouble_type:
8463
123k
            SCN_VISIT(long double);
8464
0
        case detail::arg_type::narrow_string_view_type:
8465
0
            SCN_VISIT(std::string_view);
8466
11.1k
        case detail::arg_type::narrow_string_type:
8467
11.1k
            SCN_VISIT(std::string);
8468
371k
        case detail::arg_type::wide_string_view_type:
8469
371k
            SCN_VISIT(std::wstring_view);
8470
371k
        case detail::arg_type::wide_string_type:
8471
371k
            SCN_VISIT(std::wstring);
8472
0
        case detail::arg_type::narrow_regex_matches_type:
8473
0
            SCN_VISIT(regex_matches);
8474
0
        case detail::arg_type::wide_regex_matches_type:
8475
0
            SCN_VISIT(wregex_matches);
8476
8477
0
        case detail::arg_type::custom_type:
8478
0
#if !SCN_DISABLE_TYPE_CUSTOM
8479
0
            return vis(
8480
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8481
#else
8482
            return vis(monostate_val);
8483
#endif
8484
8485
0
            SCN_CLANG_PUSH
8486
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8487
8488
0
            SCN_UNLIKELY_ATTR
8489
0
        case detail::arg_type::none_type:
8490
0
        default: {
8491
0
            return vis(monostate_val);
8492
0
        }
8493
8494
1.47M
            SCN_CLANG_POP
8495
1.47M
    }
8496
8497
0
#undef SCN_VISIT
8498
8499
0
    SCN_ENSURE(false);
8500
0
    SCN_UNREACHABLE;
8501
0
}
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::default_arg_reader<scn::v3::basic_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&)
Line
Count
Source
8416
717k
{
8417
717k
#define SCN_VISIT(Type)                                         \
8418
717k
    if constexpr (!detail::is_type_disabled<Type>) {            \
8419
717k
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8420
717k
    }                                                           \
8421
717k
    else {                                                      \
8422
717k
        return vis(monostate_val);                              \
8423
717k
    }
8424
8425
717k
    monostate monostate_val{};
8426
8427
717k
    switch (arg.m_type) {
8428
11.8k
        case detail::arg_type::schar_type:
8429
11.8k
            SCN_VISIT(signed char);
8430
0
        case detail::arg_type::short_type:
8431
0
            SCN_VISIT(short);
8432
11.8k
        case detail::arg_type::int_type:
8433
11.8k
            SCN_VISIT(int);
8434
0
        case detail::arg_type::long_type:
8435
0
            SCN_VISIT(long);
8436
11.8k
        case detail::arg_type::llong_type:
8437
11.8k
            SCN_VISIT(long long);
8438
11.7k
        case detail::arg_type::uchar_type:
8439
11.7k
            SCN_VISIT(unsigned char);
8440
0
        case detail::arg_type::ushort_type:
8441
0
            SCN_VISIT(unsigned short);
8442
11.8k
        case detail::arg_type::uint_type:
8443
11.8k
            SCN_VISIT(unsigned);
8444
0
        case detail::arg_type::ulong_type:
8445
0
            SCN_VISIT(unsigned long);
8446
11.8k
        case detail::arg_type::ullong_type:
8447
11.8k
            SCN_VISIT(unsigned long long);
8448
0
        case detail::arg_type::pointer_type:
8449
0
            SCN_VISIT(void*);
8450
0
        case detail::arg_type::bool_type:
8451
0
            SCN_VISIT(bool);
8452
0
        case detail::arg_type::narrow_character_type:
8453
0
            SCN_VISIT(char);
8454
0
        case detail::arg_type::wide_character_type:
8455
0
            SCN_VISIT(wchar_t);
8456
0
        case detail::arg_type::code_point_type:
8457
0
            SCN_VISIT(char32_t);
8458
39.3k
        case detail::arg_type::float_type:
8459
39.3k
            SCN_VISIT(float);
8460
39.5k
        case detail::arg_type::double_type:
8461
39.5k
            SCN_VISIT(double);
8462
39.9k
        case detail::arg_type::ldouble_type:
8463
39.9k
            SCN_VISIT(long double);
8464
0
        case detail::arg_type::narrow_string_view_type:
8465
0
            SCN_VISIT(std::string_view);
8466
0
        case detail::arg_type::narrow_string_type:
8467
0
            SCN_VISIT(std::string);
8468
0
        case detail::arg_type::wide_string_view_type:
8469
0
            SCN_VISIT(std::wstring_view);
8470
527k
        case detail::arg_type::wide_string_type:
8471
527k
            SCN_VISIT(std::wstring);
8472
0
        case detail::arg_type::narrow_regex_matches_type:
8473
0
            SCN_VISIT(regex_matches);
8474
0
        case detail::arg_type::wide_regex_matches_type:
8475
0
            SCN_VISIT(wregex_matches);
8476
8477
0
        case detail::arg_type::custom_type:
8478
0
#if !SCN_DISABLE_TYPE_CUSTOM
8479
0
            return vis(
8480
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8481
#else
8482
            return vis(monostate_val);
8483
#endif
8484
8485
0
            SCN_CLANG_PUSH
8486
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8487
8488
0
            SCN_UNLIKELY_ATTR
8489
0
        case detail::arg_type::none_type:
8490
0
        default: {
8491
0
            return vis(monostate_val);
8492
0
        }
8493
8494
717k
            SCN_CLANG_POP
8495
717k
    }
8496
8497
0
#undef SCN_VISIT
8498
8499
0
    SCN_ENSURE(false);
8500
0
    SCN_UNREACHABLE;
8501
0
}
decltype(auto) scn::v3::visit_scan_arg<scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >, scn::v3::basic_scan_context<wchar_t> >(scn::v3::impl::arg_reader<scn::v3::basic_scan_context<wchar_t> >&&, scn::v3::basic_scan_arg<scn::v3::basic_scan_context<wchar_t> >&)
Line
Count
Source
8416
1.01M
{
8417
1.01M
#define SCN_VISIT(Type)                                         \
8418
1.01M
    if constexpr (!detail::is_type_disabled<Type>) {            \
8419
1.01M
        return vis(*static_cast<Type*>(arg.m_value.ref_value)); \
8420
1.01M
    }                                                           \
8421
1.01M
    else {                                                      \
8422
1.01M
        return vis(monostate_val);                              \
8423
1.01M
    }
8424
8425
1.01M
    monostate monostate_val{};
8426
8427
1.01M
    switch (arg.m_type) {
8428
47.1k
        case detail::arg_type::schar_type:
8429
47.1k
            SCN_VISIT(signed char);
8430
0
        case detail::arg_type::short_type:
8431
0
            SCN_VISIT(short);
8432
47.2k
        case detail::arg_type::int_type:
8433
47.2k
            SCN_VISIT(int);
8434
0
        case detail::arg_type::long_type:
8435
0
            SCN_VISIT(long);
8436
47.3k
        case detail::arg_type::llong_type:
8437
47.3k
            SCN_VISIT(long long);
8438
47.0k
        case detail::arg_type::uchar_type:
8439
47.0k
            SCN_VISIT(unsigned char);
8440
0
        case detail::arg_type::ushort_type:
8441
0
            SCN_VISIT(unsigned short);
8442
47.1k
        case detail::arg_type::uint_type:
8443
47.1k
            SCN_VISIT(unsigned);
8444
0
        case detail::arg_type::ulong_type:
8445
0
            SCN_VISIT(unsigned long);
8446
47.2k
        case detail::arg_type::ullong_type:
8447
47.2k
            SCN_VISIT(unsigned long long);
8448
0
        case detail::arg_type::pointer_type:
8449
0
            SCN_VISIT(void*);
8450
0
        case detail::arg_type::bool_type:
8451
0
            SCN_VISIT(bool);
8452
0
        case detail::arg_type::narrow_character_type:
8453
0
            SCN_VISIT(char);
8454
0
        case detail::arg_type::wide_character_type:
8455
0
            SCN_VISIT(wchar_t);
8456
0
        case detail::arg_type::code_point_type:
8457
0
            SCN_VISIT(char32_t);
8458
122k
        case detail::arg_type::float_type:
8459
122k
            SCN_VISIT(float);
8460
122k
        case detail::arg_type::double_type:
8461
122k
            SCN_VISIT(double);
8462
123k
        case detail::arg_type::ldouble_type:
8463
123k
            SCN_VISIT(long double);
8464
0
        case detail::arg_type::narrow_string_view_type:
8465
0
            SCN_VISIT(std::string_view);
8466
0
        case detail::arg_type::narrow_string_type:
8467
0
            SCN_VISIT(std::string);
8468
0
        case detail::arg_type::wide_string_view_type:
8469
0
            SCN_VISIT(std::wstring_view);
8470
360k
        case detail::arg_type::wide_string_type:
8471
360k
            SCN_VISIT(std::wstring);
8472
0
        case detail::arg_type::narrow_regex_matches_type:
8473
0
            SCN_VISIT(regex_matches);
8474
0
        case detail::arg_type::wide_regex_matches_type:
8475
0
            SCN_VISIT(wregex_matches);
8476
8477
0
        case detail::arg_type::custom_type:
8478
0
#if !SCN_DISABLE_TYPE_CUSTOM
8479
0
            return vis(
8480
0
                typename Ctx::arg_type::handle(arg.m_value.custom_value));
8481
#else
8482
            return vis(monostate_val);
8483
#endif
8484
8485
0
            SCN_CLANG_PUSH
8486
0
            SCN_CLANG_IGNORE("-Wcovered-switch-default")
8487
8488
0
            SCN_UNLIKELY_ATTR
8489
0
        case detail::arg_type::none_type:
8490
0
        default: {
8491
0
            return vis(monostate_val);
8492
0
        }
8493
8494
1.01M
            SCN_CLANG_POP
8495
1.01M
    }
8496
8497
0
#undef SCN_VISIT
8498
8499
0
    SCN_ENSURE(false);
8500
0
    SCN_UNREACHABLE;
8501
0
}
8502
8503
/////////////////////////////////////////////////////////////////
8504
// vscan
8505
/////////////////////////////////////////////////////////////////
8506
8507
/**
8508
 * \defgroup vscan Type-erased scanning API
8509
 *
8510
 * \brief Lower-level scanning API with type-erased arguments
8511
 */
8512
8513
namespace detail {
8514
template <typename Source>
8515
using scan_result_value_type =
8516
    std::conditional_t<std::is_same_v<remove_cvref_t<Source>, std::FILE*>,
8517
                       std::FILE*,
8518
                       borrowed_tail_subrange_t<Source>>;
8519
}
8520
8521
/**
8522
 * Result type returned by `vscan`.
8523
 *
8524
 * The value type of the `scan_expected` is `FILE*` if `Source` is `FILE*`,
8525
 * `detail::borrowed_tail_subrange_t<Source>` otherwise.
8526
 *
8527
 * \ingroup vscan
8528
 */
8529
template <typename Source>
8530
using vscan_result = scan_expected<detail::scan_result_value_type<Source>>;
8531
8532
namespace detail {
8533
scan_expected<std::ptrdiff_t> vscan_impl(std::string_view source,
8534
                                         std::string_view format,
8535
                                         scan_args args);
8536
scan_expected<std::ptrdiff_t> vscan_impl(scan_buffer& source,
8537
                                         std::string_view format,
8538
                                         scan_args args);
8539
8540
scan_expected<std::ptrdiff_t> vscan_impl(std::wstring_view source,
8541
                                         std::wstring_view format,
8542
                                         wscan_args args);
8543
scan_expected<std::ptrdiff_t> vscan_impl(wscan_buffer& source,
8544
                                         std::wstring_view format,
8545
                                         wscan_args args);
8546
8547
#if !SCN_DISABLE_LOCALE
8548
template <typename Locale>
8549
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
8550
                                                   std::string_view source,
8551
                                                   std::string_view format,
8552
                                                   scan_args args);
8553
template <typename Locale>
8554
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
8555
                                                   scan_buffer& source,
8556
                                                   std::string_view format,
8557
                                                   scan_args args);
8558
8559
template <typename Locale>
8560
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
8561
                                                   std::wstring_view source,
8562
                                                   std::wstring_view format,
8563
                                                   wscan_args args);
8564
template <typename Locale>
8565
scan_expected<std::ptrdiff_t> vscan_localized_impl(const Locale& loc,
8566
                                                   wscan_buffer& source,
8567
                                                   std::wstring_view format,
8568
                                                   wscan_args args);
8569
#endif
8570
8571
scan_expected<std::ptrdiff_t> vscan_value_impl(
8572
    std::string_view source,
8573
    basic_scan_arg<scan_context> arg);
8574
scan_expected<std::ptrdiff_t> vscan_value_impl(
8575
    scan_buffer& source,
8576
    basic_scan_arg<scan_context> arg);
8577
8578
scan_expected<std::ptrdiff_t> vscan_value_impl(
8579
    std::wstring_view source,
8580
    basic_scan_arg<wscan_context> arg);
8581
scan_expected<std::ptrdiff_t> vscan_value_impl(
8582
    wscan_buffer& source,
8583
    basic_scan_arg<wscan_context> arg);
8584
8585
template <typename Range, typename CharT>
8586
auto vscan_generic(Range&& range,
8587
                   std::basic_string_view<CharT> format,
8588
                   basic_scan_args<basic_scan_context<CharT>> args)
8589
    -> vscan_result<Range>
8590
7.55M
{
8591
7.55M
    auto buffer = make_scan_buffer(range);
8592
8593
7.55M
    auto result = vscan_impl(buffer, format, args);
8594
7.55M
    if (SCN_UNLIKELY(!result)) {
8595
1.64M
        return unexpected(result.error());
8596
1.64M
    }
8597
5.91M
    return make_vscan_result_range(SCN_FWD(range), *result);
8598
7.55M
}
_ZN3scn2v36detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISQ_EEEE
Line
Count
Source
8590
2.54M
{
8591
2.54M
    auto buffer = make_scan_buffer(range);
8592
8593
2.54M
    auto result = vscan_impl(buffer, format, args);
8594
2.54M
    if (SCN_UNLIKELY(!result)) {
8595
205k
        return unexpected(result.error());
8596
205k
    }
8597
2.34M
    return make_vscan_result_range(SCN_FWD(range), *result);
8598
2.54M
}
_ZN3scn2v36detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEcEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS7_17basic_string_viewIT0_NS7_11char_traitsISV_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISV_EEEE
Line
Count
Source
8590
2.57M
{
8591
2.57M
    auto buffer = make_scan_buffer(range);
8592
8593
2.57M
    auto result = vscan_impl(buffer, format, args);
8594
2.57M
    if (SCN_UNLIKELY(!result)) {
8595
198k
        return unexpected(result.error());
8596
198k
    }
8597
2.37M
    return make_vscan_result_range(SCN_FWD(range), *result);
8598
2.57M
}
_ZN3scn2v36detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NSB_17basic_string_viewIT0_NSB_11char_traitsISQ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISQ_EEEE
Line
Count
Source
8590
1.18M
{
8591
1.18M
    auto buffer = make_scan_buffer(range);
8592
8593
1.18M
    auto result = vscan_impl(buffer, format, args);
8594
1.18M
    if (SCN_UNLIKELY(!result)) {
8595
411k
        return unexpected(result.error());
8596
411k
    }
8597
769k
    return make_vscan_result_range(SCN_FWD(range), *result);
8598
1.18M
}
_ZN3scn2v36detail13vscan_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEwEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS7_17basic_string_viewIT0_NS7_11char_traitsISV_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISV_EEEE
Line
Count
Source
8590
820k
{
8591
820k
    auto buffer = make_scan_buffer(range);
8592
8593
820k
    auto result = vscan_impl(buffer, format, args);
8594
820k
    if (SCN_UNLIKELY(!result)) {
8595
397k
        return unexpected(result.error());
8596
397k
    }
8597
422k
    return make_vscan_result_range(SCN_FWD(range), *result);
8598
820k
}
_ZN3scn2v36detail13vscan_genericIRNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESF_NS1_22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEEEOSB_NS4_IT0_NS5_ISN_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISN_EEEE
Line
Count
Source
8590
143k
{
8591
143k
    auto buffer = make_scan_buffer(range);
8592
8593
143k
    auto result = vscan_impl(buffer, format, args);
8594
143k
    if (SCN_UNLIKELY(!result)) {
8595
140k
        return unexpected(result.error());
8596
140k
    }
8597
2.26k
    return make_vscan_result_range(SCN_FWD(range), *result);
8598
143k
}
_ZN3scn2v36detail13vscan_genericIRNSt3__117basic_string_viewIwNS3_11char_traitsIwEEEEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESF_NS1_22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEEEOSB_NS4_IT0_NS5_ISN_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISN_EEEE
Line
Count
Source
8590
286k
{
8591
286k
    auto buffer = make_scan_buffer(range);
8592
8593
286k
    auto result = vscan_impl(buffer, format, args);
8594
286k
    if (SCN_UNLIKELY(!result)) {
8595
285k
        return unexpected(result.error());
8596
285k
    }
8597
614
    return make_vscan_result_range(SCN_FWD(range), *result);
8598
286k
}
8599
8600
template <typename Locale, typename Range, typename CharT>
8601
auto vscan_localized_generic(const Locale& loc,
8602
                             Range&& range,
8603
                             std::basic_string_view<CharT> format,
8604
                             basic_scan_args<basic_scan_context<CharT>> args)
8605
    -> vscan_result<Range>
8606
7.55M
{
8607
7.55M
#if !SCN_DISABLE_LOCALE
8608
7.55M
    auto buffer = detail::make_scan_buffer(range);
8609
8610
7.55M
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8611
7.55M
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8612
7.55M
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8613
8614
7.55M
    if (SCN_UNLIKELY(!result)) {
8615
1.64M
        return unexpected(result.error());
8616
1.64M
    }
8617
5.91M
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8618
#else
8619
    static_assert(dependent_false<Locale>::value,
8620
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8621
8622
    return {};
8623
#endif
8624
7.55M
}
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcSA_EEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS1_22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEEERKT_OSE_NS3_17basic_string_viewIT1_NS3_11char_traitsISU_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISU_EEEE
Line
Count
Source
8606
2.54M
{
8607
2.54M
#if !SCN_DISABLE_LOCALE
8608
2.54M
    auto buffer = detail::make_scan_buffer(range);
8609
8610
2.54M
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8611
2.54M
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8612
2.54M
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8613
8614
2.54M
    if (SCN_UNLIKELY(!result)) {
8615
205k
        return unexpected(result.error());
8616
205k
    }
8617
2.34M
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8618
#else
8619
    static_assert(dependent_false<Locale>::value,
8620
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8621
8622
    return {};
8623
#endif
8624
2.54M
}
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIcPKcRSA_PKSB_lLl4096EEESF_EEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS1_22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEEERKT_OSJ_NS3_17basic_string_viewIT1_NS3_11char_traitsISZ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISZ_EEEE
Line
Count
Source
8606
2.57M
{
8607
2.57M
#if !SCN_DISABLE_LOCALE
8608
2.57M
    auto buffer = detail::make_scan_buffer(range);
8609
8610
2.57M
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8611
2.57M
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8612
2.57M
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8613
8614
2.57M
    if (SCN_UNLIKELY(!result)) {
8615
198k
        return unexpected(result.error());
8616
198k
    }
8617
2.37M
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8618
#else
8619
    static_assert(dependent_false<Locale>::value,
8620
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8621
8622
    return {};
8623
#endif
8624
2.57M
}
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKwSA_EEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESI_NS1_22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEEERKT_OSE_NS3_17basic_string_viewIT1_NS3_11char_traitsISU_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISU_EEEE
Line
Count
Source
8606
1.18M
{
8607
1.18M
#if !SCN_DISABLE_LOCALE
8608
1.18M
    auto buffer = detail::make_scan_buffer(range);
8609
8610
1.18M
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8611
1.18M
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8612
1.18M
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8613
8614
1.18M
    if (SCN_UNLIKELY(!result)) {
8615
411k
        return unexpected(result.error());
8616
411k
    }
8617
769k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8618
#else
8619
    static_assert(dependent_false<Locale>::value,
8620
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8621
8622
    return {};
8623
#endif
8624
1.18M
}
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS3_16__deque_iteratorIwPKwRSA_PKSB_lLl1024EEESF_EEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS1_22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEEERKT_OSJ_NS3_17basic_string_viewIT1_NS3_11char_traitsISZ_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISZ_EEEE
Line
Count
Source
8606
820k
{
8607
820k
#if !SCN_DISABLE_LOCALE
8608
820k
    auto buffer = detail::make_scan_buffer(range);
8609
8610
820k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8611
820k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8612
820k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8613
8614
820k
    if (SCN_UNLIKELY(!result)) {
8615
397k
        return unexpected(result.error());
8616
397k
    }
8617
422k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8618
#else
8619
    static_assert(dependent_false<Locale>::value,
8620
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8621
8622
    return {};
8623
#endif
8624
820k
}
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeERNS3_17basic_string_viewIcNS3_11char_traitsIcEEEEcEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESG_NS1_22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEERKT_OSC_NS5_IT1_NS6_ISR_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISR_EEEE
Line
Count
Source
8606
143k
{
8607
143k
#if !SCN_DISABLE_LOCALE
8608
143k
    auto buffer = detail::make_scan_buffer(range);
8609
8610
143k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8611
143k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8612
143k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8613
8614
143k
    if (SCN_UNLIKELY(!result)) {
8615
140k
        return unexpected(result.error());
8616
140k
    }
8617
2.26k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8618
#else
8619
    static_assert(dependent_false<Locale>::value,
8620
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8621
8622
    return {};
8623
#endif
8624
143k
}
_ZN3scn2v36detail23vscan_localized_genericINSt3__16localeERNS3_17basic_string_viewIwNS3_11char_traitsIwEEEEwEENS0_13scan_expectedINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESG_NS1_22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEERKT_OSC_NS5_IT1_NS6_ISR_EEEENS0_15basic_scan_argsINS0_18basic_scan_contextISR_EEEE
Line
Count
Source
8606
286k
{
8607
286k
#if !SCN_DISABLE_LOCALE
8608
286k
    auto buffer = detail::make_scan_buffer(range);
8609
8610
286k
    SCN_CLANG_PUSH_IGNORE_UNDEFINED_TEMPLATE
8611
286k
    auto result = detail::vscan_localized_impl(loc, buffer, format, args);
8612
286k
    SCN_CLANG_POP_IGNORE_UNDEFINED_TEMPLATE
8613
8614
286k
    if (SCN_UNLIKELY(!result)) {
8615
285k
        return unexpected(result.error());
8616
285k
    }
8617
614
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8618
#else
8619
    static_assert(dependent_false<Locale>::value,
8620
                  "Can't use scan(locale, ...) with SCN_DISABLE_LOCALE on");
8621
8622
    return {};
8623
#endif
8624
286k
}
8625
8626
template <typename Range, typename CharT>
8627
auto vscan_value_generic(Range&& range,
8628
                         basic_scan_arg<basic_scan_context<CharT>> arg)
8629
    -> vscan_result<Range>
8630
1.67M
{
8631
1.67M
    auto buffer = detail::make_scan_buffer(range);
8632
8633
1.67M
    auto result = detail::vscan_value_impl(buffer, arg);
8634
1.67M
    if (SCN_UNLIKELY(!result)) {
8635
155k
        return unexpected(result.error());
8636
155k
    }
8637
1.52M
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8638
1.67M
}
_ZN3scn2v36detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeIPKcS8_EEcEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS0_14basic_scan_argINS0_18basic_scan_contextIT0_EEEE
Line
Count
Source
8630
529k
{
8631
529k
    auto buffer = detail::make_scan_buffer(range);
8632
8633
529k
    auto result = detail::vscan_value_impl(buffer, arg);
8634
529k
    if (SCN_UNLIKELY(!result)) {
8635
26.4k
        return unexpected(result.error());
8636
26.4k
    }
8637
502k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8638
529k
}
_ZN3scn2v36detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEcEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS0_14basic_scan_argINS0_18basic_scan_contextIT0_EEEE
Line
Count
Source
8630
494k
{
8631
494k
    auto buffer = detail::make_scan_buffer(range);
8632
8633
494k
    auto result = detail::vscan_value_impl(buffer, arg);
8634
494k
    if (SCN_UNLIKELY(!result)) {
8635
25.3k
        return unexpected(result.error());
8636
25.3k
    }
8637
468k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8638
494k
}
_ZN3scn2v36detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeIPKwS8_EEwEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS1_22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEEOSD_NS0_14basic_scan_argINS0_18basic_scan_contextIT0_EEEE
Line
Count
Source
8630
415k
{
8631
415k
    auto buffer = detail::make_scan_buffer(range);
8632
8633
415k
    auto result = detail::vscan_value_impl(buffer, arg);
8634
415k
    if (SCN_UNLIKELY(!result)) {
8635
52.9k
        return unexpected(result.error());
8636
52.9k
    }
8637
362k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8638
415k
}
_ZN3scn2v36detail19vscan_value_genericINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIwPKwRS9_PKSA_lLl1024EEESE_EEwEENS0_13scan_expectedINS7_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS1_22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEEOSI_NS0_14basic_scan_argINS0_18basic_scan_contextIT0_EEEE
Line
Count
Source
8630
239k
{
8631
239k
    auto buffer = detail::make_scan_buffer(range);
8632
8633
239k
    auto result = detail::vscan_value_impl(buffer, arg);
8634
239k
    if (SCN_UNLIKELY(!result)) {
8635
50.7k
        return unexpected(result.error());
8636
50.7k
    }
8637
188k
    return detail::make_vscan_result_range(SCN_FWD(range), *result);
8638
239k
}
8639
}  // namespace detail
8640
8641
SCN_GCC_PUSH
8642
SCN_GCC_IGNORE("-Wnoexcept")
8643
8644
/**
8645
 * Perform actual scanning from `source`, according to `format`, into the
8646
 * type-erased arguments at `args`. Called by `scan`.
8647
 *
8648
 * \ingroup vscan
8649
 */
8650
template <typename Source>
8651
auto vscan(Source&& source, std::string_view format, scan_args args)
8652
    -> vscan_result<Source>
8653
5.26M
{
8654
5.26M
    return detail::vscan_generic(SCN_FWD(source), format, args);
8655
5.26M
}
_ZN3scn2v35vscanINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NSA_17basic_string_viewIcNSA_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8653
2.54M
{
8654
2.54M
    return detail::vscan_generic(SCN_FWD(source), format, args);
8655
2.54M
}
_ZN3scn2v35vscanINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEEEOSH_NS6_17basic_string_viewIcNS6_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8653
2.57M
{
8654
2.57M
    return detail::vscan_generic(SCN_FWD(source), format, args);
8655
2.57M
}
_ZN3scn2v35vscanIRNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEEENS0_13scan_expectedINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESE_NS0_6detail22borrowed_tail_subrangeISA_Xsr6rangesE14borrowed_rangeISA_EEE4typeEE4typeEEEOSA_S6_NS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8653
143k
{
8654
143k
    return detail::vscan_generic(SCN_FWD(source), format, args);
8655
143k
}
8656
8657
/**
8658
 * Perform actual scanning from `source`, according to `format`, into the
8659
 * type-erased arguments at `args`, using `loc`, if requested. Called by
8660
 * `scan`.
8661
 *
8662
 * \ingroup locale
8663
 */
8664
template <typename Source,
8665
          typename Locale,
8666
          typename = std::void_t<decltype(Locale::classic())>>
8667
auto vscan(const Locale& loc,
8668
           Source&& source,
8669
           std::string_view format,
8670
           scan_args args) -> vscan_result<Source>
8671
5.26M
{
8672
5.26M
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
8673
5.26M
}
_ZN3scn2v35vscanINS0_6ranges6detail9subrange_8subrangeIPKcS7_EENSt3__16localeEvEENS0_13scan_expectedINS9_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEEERKT0_OSD_NS9_17basic_string_viewIcNS9_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8671
2.54M
{
8672
2.54M
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
8673
2.54M
}
_ZN3scn2v35vscanINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EENS6_6localeEvEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEEERKT0_OSI_NS6_17basic_string_viewIcNS6_11char_traitsIcEEEENS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8671
2.57M
{
8672
2.57M
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
8673
2.57M
}
_ZN3scn2v35vscanIRNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEENS2_6localeEvEENS0_13scan_expectedINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEEERKT0_OSB_S6_NS0_15basic_scan_argsINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8671
143k
{
8672
143k
    return detail::vscan_localized_generic(loc, SCN_FWD(source), format, args);
8673
143k
}
8674
8675
/**
8676
 * Perform actual scanning from `source` into the type-erased argument at
8677
 * `arg`. Called by `scan_value`.
8678
 *
8679
 * \ingroup vscan
8680
 */
8681
template <typename Source>
8682
auto vscan_value(Source&& source, basic_scan_arg<scan_context> arg)
8683
    -> vscan_result<Source>
8684
1.02M
{
8685
1.02M
    return detail::vscan_value_generic(SCN_FWD(source), arg);
8686
1.02M
}
_ZN3scn2v311vscan_valueINS0_6ranges6detail9subrange_8subrangeIPKcS7_EEEENS0_13scan_expectedINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEEEOSC_NS0_14basic_scan_argINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8684
529k
{
8685
529k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
8686
529k
}
_ZN3scn2v311vscan_valueINS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEEENS0_13scan_expectedINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEEEOSH_NS0_14basic_scan_argINS0_18basic_scan_contextIcEEEE
Line
Count
Source
8684
494k
{
8685
494k
    return detail::vscan_value_generic(SCN_FWD(source), arg);
8686
494k
}
8687
8688
/**
8689
 * Perform actual scanning from `stdin`, according to `format`, into the
8690
 * type-erased arguments at `args`. Called by `input`.
8691
 *
8692
 * \ingroup vscan
8693
 */
8694
scan_error vinput(std::string_view format, scan_args args);
8695
8696
namespace detail {
8697
template <typename T>
8698
auto scan_int_impl(std::string_view source, T& value, int base)
8699
    -> scan_expected<std::string_view::iterator>;
8700
8701
template <typename T>
8702
auto scan_int_exhaustive_valid_impl(std::string_view source) -> T;
8703
8704
#if !SCN_DISABLE_TYPE_SCHAR
8705
extern template auto scan_int_impl(std::string_view source,
8706
                                   signed char& value,
8707
                                   int base)
8708
    -> scan_expected<std::string_view::iterator>;
8709
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8710
    -> signed char;
8711
#endif
8712
#if !SCN_DISABLE_TYPE_SHORT
8713
extern template auto scan_int_impl(std::string_view source,
8714
                                   short& value,
8715
                                   int base)
8716
    -> scan_expected<std::string_view::iterator>;
8717
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> short;
8718
#endif
8719
#if !SCN_DISABLE_TYPE_INT
8720
extern template auto scan_int_impl(std::string_view source,
8721
                                   int& value,
8722
                                   int base)
8723
    -> scan_expected<std::string_view::iterator>;
8724
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> int;
8725
#endif
8726
#if !SCN_DISABLE_TYPE_LONG
8727
extern template auto scan_int_impl(std::string_view source,
8728
                                   long& value,
8729
                                   int base)
8730
    -> scan_expected<std::string_view::iterator>;
8731
extern template auto scan_int_exhaustive_valid_impl(std::string_view) -> long;
8732
#endif
8733
#if !SCN_DISABLE_TYPE_LONG_LONG
8734
extern template auto scan_int_impl(std::string_view source,
8735
                                   long long& value,
8736
                                   int base)
8737
    -> scan_expected<std::string_view::iterator>;
8738
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8739
    -> long long;
8740
#endif
8741
#if !SCN_DISABLE_TYPE_UCHAR
8742
extern template auto scan_int_impl(std::string_view source,
8743
                                   unsigned char& value,
8744
                                   int base)
8745
    -> scan_expected<std::string_view::iterator>;
8746
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8747
    -> unsigned char;
8748
#endif
8749
#if !SCN_DISABLE_TYPE_USHORT
8750
extern template auto scan_int_impl(std::string_view source,
8751
                                   unsigned short& value,
8752
                                   int base)
8753
    -> scan_expected<std::string_view::iterator>;
8754
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8755
    -> unsigned short;
8756
#endif
8757
#if !SCN_DISABLE_TYPE_UINT
8758
extern template auto scan_int_impl(std::string_view source,
8759
                                   unsigned int& value,
8760
                                   int base)
8761
    -> scan_expected<std::string_view::iterator>;
8762
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8763
    -> unsigned int;
8764
#endif
8765
#if !SCN_DISABLE_TYPE_ULONG
8766
extern template auto scan_int_impl(std::string_view source,
8767
                                   unsigned long& value,
8768
                                   int base)
8769
    -> scan_expected<std::string_view::iterator>;
8770
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8771
    -> unsigned long;
8772
#endif
8773
#if !SCN_DISABLE_TYPE_ULONG_LONG
8774
extern template auto scan_int_impl(std::string_view source,
8775
                                   unsigned long long& value,
8776
                                   int base)
8777
    -> scan_expected<std::string_view::iterator>;
8778
extern template auto scan_int_exhaustive_valid_impl(std::string_view)
8779
    -> unsigned long long;
8780
#endif
8781
8782
}  // namespace detail
8783
8784
SCN_GCC_POP  // -Wnoexcept
8785
8786
    // dummy namespace to reset formatting
8787
    namespace detail
8788
{
8789
}
8790
8791
/////////////////////////////////////////////////////////////////
8792
// scan
8793
/////////////////////////////////////////////////////////////////
8794
8795
/**
8796
 * Convenience function to construct the value to return from `scan`,
8797
 * based on the return value of `vscan`, and the argument store.
8798
 *
8799
 * Takes its arguments by rvalue reference to disallow extraneous copying.
8800
 *
8801
 * Note: Because `vscan` places the values it scanned into the argument
8802
 * store passed to it, the call to `make_scan_result` needs to happen
8803
 * strictly after calling `vscan`. This means, that this is UB:
8804
 * `return scn::make_scan_result(scn::vscan(...), std::move(args.args()));`
8805
 *
8806
 * Example:
8807
 * \code{.cpp}
8808
 * auto args = scn::make_scan_args<scan_context, Args...>();
8809
 * auto result = scn::vscan(std::forward<Source>(source), format, args);
8810
 * return scn::make_scan_result(std::move(result), std::move(args.args()));
8811
 * \endcode
8812
 *
8813
 * \ingroup result
8814
 */
8815
template <typename Result, typename... Args>
8816
auto make_scan_result(scan_expected<Result>&& result,
8817
                      std::tuple<Args...>&& args)
8818
    -> scan_expected<scan_result<Result, Args...>>
8819
15.1M
{
8820
15.1M
    if (SCN_UNLIKELY(!result)) {
8821
3.28M
        return unexpected(result.error());
8822
3.28M
    }
8823
11.8M
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
15.1M
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, signed char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<signed char>&&)
Line
Count
Source
8819
311k
{
8820
311k
    if (SCN_UNLIKELY(!result)) {
8821
38.9k
        return unexpected(result.error());
8822
38.9k
    }
8823
272k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
311k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<unsigned char>&&)
Line
Count
Source
8819
300k
{
8820
300k
    if (SCN_UNLIKELY(!result)) {
8821
38.9k
        return unexpected(result.error());
8822
38.9k
    }
8823
261k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
300k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<int>&&)
Line
Count
Source
8819
425k
{
8820
425k
    if (SCN_UNLIKELY(!result)) {
8821
70.7k
        return unexpected(result.error());
8822
70.7k
    }
8823
354k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
425k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<unsigned int>&&)
Line
Count
Source
8819
371k
{
8820
371k
    if (SCN_UNLIKELY(!result)) {
8821
70.7k
        return unexpected(result.error());
8822
70.7k
    }
8823
300k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
371k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<long long>&&)
Line
Count
Source
8819
400k
{
8820
400k
    if (SCN_UNLIKELY(!result)) {
8821
38.9k
        return unexpected(result.error());
8822
38.9k
    }
8823
361k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
400k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, unsigned long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
8819
343k
{
8820
343k
    if (SCN_UNLIKELY(!result)) {
8821
38.9k
        return unexpected(result.error());
8822
38.9k
    }
8823
304k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
343k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, signed char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<signed char>&&)
Line
Count
Source
8819
312k
{
8820
312k
    if (SCN_UNLIKELY(!result)) {
8821
38.9k
        return unexpected(result.error());
8822
38.9k
    }
8823
273k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
312k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<unsigned char>&&)
Line
Count
Source
8819
301k
{
8820
301k
    if (SCN_UNLIKELY(!result)) {
8821
38.9k
        return unexpected(result.error());
8822
38.9k
    }
8823
262k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
301k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<int>&&)
Line
Count
Source
8819
394k
{
8820
394k
    if (SCN_UNLIKELY(!result)) {
8821
38.9k
        return unexpected(result.error());
8822
38.9k
    }
8823
355k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
394k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<unsigned int>&&)
Line
Count
Source
8819
341k
{
8820
341k
    if (SCN_UNLIKELY(!result)) {
8821
38.9k
        return unexpected(result.error());
8822
38.9k
    }
8823
302k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
341k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<long long>&&)
Line
Count
Source
8819
401k
{
8820
401k
    if (SCN_UNLIKELY(!result)) {
8821
38.9k
        return unexpected(result.error());
8822
38.9k
    }
8823
362k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
401k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, unsigned long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
8819
344k
{
8820
344k
    if (SCN_UNLIKELY(!result)) {
8821
38.9k
        return unexpected(result.error());
8822
38.9k
    }
8823
305k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
344k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, signed char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<signed char>&&)
Line
Count
Source
8819
78.3k
{
8820
78.3k
    if (SCN_UNLIKELY(!result)) {
8821
77.8k
        return unexpected(result.error());
8822
77.8k
    }
8823
550
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
78.3k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<unsigned char>&&)
Line
Count
Source
8819
78.3k
{
8820
78.3k
    if (SCN_UNLIKELY(!result)) {
8821
77.8k
        return unexpected(result.error());
8822
77.8k
    }
8823
464
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
78.3k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<int>&&)
Line
Count
Source
8819
142k
{
8820
142k
    if (SCN_UNLIKELY(!result)) {
8821
141k
        return unexpected(result.error());
8822
141k
    }
8823
656
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
142k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<unsigned int>&&)
Line
Count
Source
8819
141k
{
8820
141k
    if (SCN_UNLIKELY(!result)) {
8821
141k
        return unexpected(result.error());
8822
141k
    }
8823
522
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
141k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<long long>&&)
Line
Count
Source
8819
78.6k
{
8820
78.6k
    if (SCN_UNLIKELY(!result)) {
8821
77.8k
        return unexpected(result.error());
8822
77.8k
    }
8823
794
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
78.6k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, unsigned long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
8819
78.4k
{
8820
78.4k
    if (SCN_UNLIKELY(!result)) {
8821
77.8k
        return unexpected(result.error());
8822
77.8k
    }
8823
640
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
78.4k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, signed char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<signed char>&&)
Line
Count
Source
8819
78.3k
{
8820
78.3k
    if (SCN_UNLIKELY(!result)) {
8821
77.8k
        return unexpected(result.error());
8822
77.8k
    }
8823
550
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
78.3k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<unsigned char>&&)
Line
Count
Source
8819
78.3k
{
8820
78.3k
    if (SCN_UNLIKELY(!result)) {
8821
77.8k
        return unexpected(result.error());
8822
77.8k
    }
8823
464
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
78.3k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<int>&&)
Line
Count
Source
8819
78.4k
{
8820
78.4k
    if (SCN_UNLIKELY(!result)) {
8821
77.8k
        return unexpected(result.error());
8822
77.8k
    }
8823
656
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
78.4k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned int>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<unsigned int>&&)
Line
Count
Source
8819
78.3k
{
8820
78.3k
    if (SCN_UNLIKELY(!result)) {
8821
77.8k
        return unexpected(result.error());
8822
77.8k
    }
8823
522
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
78.3k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<long long>&&)
Line
Count
Source
8819
78.6k
{
8820
78.6k
    if (SCN_UNLIKELY(!result)) {
8821
77.8k
        return unexpected(result.error());
8822
77.8k
    }
8823
794
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
78.6k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, unsigned long long>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<unsigned long long>&&)
Line
Count
Source
8819
78.4k
{
8820
78.4k
    if (SCN_UNLIKELY(!result)) {
8821
77.8k
        return unexpected(result.error());
8822
77.8k
    }
8823
640
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
78.4k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, float>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<float>&&)
Line
Count
Source
8819
864k
{
8820
864k
    if (SCN_UNLIKELY(!result)) {
8821
50.2k
        return unexpected(result.error());
8822
50.2k
    }
8823
814k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
864k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<double>&&)
Line
Count
Source
8819
963k
{
8820
963k
    if (SCN_UNLIKELY(!result)) {
8821
82.0k
        return unexpected(result.error());
8822
82.0k
    }
8823
881k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
963k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, long double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<long double>&&)
Line
Count
Source
8819
942k
{
8820
942k
    if (SCN_UNLIKELY(!result)) {
8821
50.2k
        return unexpected(result.error());
8822
50.2k
    }
8823
892k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
942k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, float>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<float>&&)
Line
Count
Source
8819
918k
{
8820
918k
    if (SCN_UNLIKELY(!result)) {
8821
50.2k
        return unexpected(result.error());
8822
50.2k
    }
8823
868k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
918k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<double>&&)
Line
Count
Source
8819
990k
{
8820
990k
    if (SCN_UNLIKELY(!result)) {
8821
50.2k
        return unexpected(result.error());
8822
50.2k
    }
8823
940k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
990k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, long double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<long double>&&)
Line
Count
Source
8819
1.00M
{
8820
1.00M
    if (SCN_UNLIKELY(!result)) {
8821
50.2k
        return unexpected(result.error());
8822
50.2k
    }
8823
950k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
1.00M
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, float>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<float>&&)
Line
Count
Source
8819
148k
{
8820
148k
    if (SCN_UNLIKELY(!result)) {
8821
100k
        return unexpected(result.error());
8822
100k
    }
8823
48.4k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
148k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<double>&&)
Line
Count
Source
8819
213k
{
8820
213k
    if (SCN_UNLIKELY(!result)) {
8821
164k
        return unexpected(result.error());
8822
164k
    }
8823
48.8k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
213k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, long double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<long double>&&)
Line
Count
Source
8819
150k
{
8820
150k
    if (SCN_UNLIKELY(!result)) {
8821
100k
        return unexpected(result.error());
8822
100k
    }
8823
49.6k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
150k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, float>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<float>&&)
Line
Count
Source
8819
148k
{
8820
148k
    if (SCN_UNLIKELY(!result)) {
8821
100k
        return unexpected(result.error());
8822
100k
    }
8823
48.2k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
148k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<double>&&)
Line
Count
Source
8819
149k
{
8820
149k
    if (SCN_UNLIKELY(!result)) {
8821
100k
        return unexpected(result.error());
8822
100k
    }
8823
48.7k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
149k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, long double>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<long double>&&)
Line
Count
Source
8819
150k
{
8820
150k
    if (SCN_UNLIKELY(!result)) {
8821
100k
        return unexpected(result.error());
8822
100k
    }
8823
49.4k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
150k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
8819
165k
{
8820
165k
    if (SCN_UNLIKELY(!result)) {
8821
43.8k
        return unexpected(result.error());
8822
43.8k
    }
8823
121k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
165k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string_view<char, std::__1::char_traits<char> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<std::__1::basic_string_view<char, std::__1::char_traits<char> > >&&)
Line
Count
Source
8819
165k
{
8820
165k
    if (SCN_UNLIKELY(!result)) {
8821
43.8k
        return unexpected(result.error());
8822
43.8k
    }
8823
121k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
165k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l>, std::__1::__deque_iterator<char, char const*, char const&, char const* const*, long, 4096l> > >&&, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
8819
147k
{
8820
147k
    if (SCN_UNLIKELY(!result)) {
8821
13.4k
        return unexpected(result.error());
8822
13.4k
    }
8823
134k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
147k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
8819
785k
{
8820
785k
    if (SCN_UNLIKELY(!result)) {
8821
90.2k
        return unexpected(result.error());
8822
90.2k
    }
8823
694k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
785k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<std::__1::basic_string_view<wchar_t, std::__1::char_traits<wchar_t> > >&&)
Line
Count
Source
8819
785k
{
8820
785k
    if (SCN_UNLIKELY(!result)) {
8821
90.2k
        return unexpected(result.error());
8822
90.2k
    }
8823
694k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
785k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> >, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l>, std::__1::__deque_iterator<wchar_t, wchar_t const*, wchar_t const&, wchar_t const* const*, long, 1024l> > >&&, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
8819
721k
{
8820
721k
    if (SCN_UNLIKELY(!result)) {
8821
26.9k
        return unexpected(result.error());
8822
26.9k
    }
8823
694k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
721k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, char>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<char>&&)
Line
Count
Source
8819
31.8k
{
8820
31.8k
    if (SCN_UNLIKELY(!result)) {
8821
31.5k
        return unexpected(result.error());
8822
31.5k
    }
8823
222
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
31.8k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, bool>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<bool>&&)
Line
Count
Source
8819
31.8k
{
8820
31.8k
    if (SCN_UNLIKELY(!result)) {
8821
31.8k
        return unexpected(result.error());
8822
31.8k
    }
8823
0
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
31.8k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, void*>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<void*>&&)
Line
Count
Source
8819
31.8k
{
8820
31.8k
    if (SCN_UNLIKELY(!result)) {
8821
31.8k
        return unexpected(result.error());
8822
31.8k
    }
8823
0
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
31.8k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*>, std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<char const*, char const*> >&&, std::__1::tuple<std::__1::basic_string<wchar_t, std::__1::char_traits<wchar_t>, std::__1::allocator<wchar_t> > >&&)
Line
Count
Source
8819
31.8k
{
8820
31.8k
    if (SCN_UNLIKELY(!result)) {
8821
30.3k
        return unexpected(result.error());
8822
30.3k
    }
8823
1.43k
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
31.8k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, wchar_t>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<wchar_t>&&)
Line
Count
Source
8819
63.6k
{
8820
63.6k
    if (SCN_UNLIKELY(!result)) {
8821
63.5k
        return unexpected(result.error());
8822
63.5k
    }
8823
112
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
63.6k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, bool>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<bool>&&)
Line
Count
Source
8819
63.6k
{
8820
63.6k
    if (SCN_UNLIKELY(!result)) {
8821
63.6k
        return unexpected(result.error());
8822
63.6k
    }
8823
0
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
63.6k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*> > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, void*>(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<void*>&&)
Line
Count
Source
8819
63.6k
{
8820
63.6k
    if (SCN_UNLIKELY(!result)) {
8821
63.6k
        return unexpected(result.error());
8822
63.6k
    }
8823
0
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
63.6k
}
scn::v3::scan_expected<scn::v3::scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > scn::v3::make_scan_result<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(scn::v3::scan_expected<scn::v3::ranges::detail::subrange_::subrange<wchar_t const*, wchar_t const*> >&&, std::__1::tuple<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >&&)
Line
Count
Source
8819
63.6k
{
8820
63.6k
    if (SCN_UNLIKELY(!result)) {
8821
63.2k
        return unexpected(result.error());
8822
63.2k
    }
8823
372
    return scan_result{SCN_MOVE(*result), SCN_MOVE(args)};
8824
63.6k
}
8825
8826
/**
8827
 * The return type of `scan`, based on the type of the source, and the
8828
 * types of the scanned arguments.
8829
 */
8830
template <typename Source, typename... Args>
8831
using scan_result_type =
8832
    scan_expected<scan_result<detail::scan_result_value_type<Source>, Args...>>;
8833
8834
/**
8835
 * \defgroup scan Basic scanning API
8836
 *
8837
 * \brief The core public-facing interface of the library
8838
 *
8839
 * The following functions use a format string syntax similar to that of
8840
 * `std::format`. See more at \ref format-string.
8841
 *
8842
 * When these functions take a `source` as input, it must
8843
 * model the `scannable_source` concept. See more at \ref scannable.
8844
 */
8845
8846
/**
8847
 * Scans `Args...` from `source`, according to the
8848
 * specifications given in the format string (`format`).
8849
 * Returns the resulting values in an object of type `scan_result`,
8850
 * alongside a `subrange` pointing to the unused input.
8851
 *
8852
 * Example:
8853
 * \code{.cpp}
8854
 * if (auto result = scn::scan<int>("123", "{}"))
8855
 *     int value = result->value();
8856
 * \endcode
8857
 *
8858
 * \ingroup scan
8859
 */
8860
template <typename... Args,
8861
          typename Source,
8862
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
8863
SCN_NODISCARD auto scan(Source&& source,
8864
                        scan_format_string<Source, Args...> format)
8865
    -> scan_result_type<Source, Args...>
8866
5.26M
{
8867
5.26M
    auto args = make_scan_args<scan_context, Args...>();
8868
5.26M
    auto result = vscan(SCN_FWD(source), format, args);
8869
5.26M
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
5.26M
}
_ZN3scn2v34scanIJaENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8866
155k
{
8867
155k
    auto args = make_scan_args<scan_context, Args...>();
8868
155k
    auto result = vscan(SCN_FWD(source), format, args);
8869
155k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
155k
}
_ZN3scn2v34scanIJhENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8866
150k
{
8867
150k
    auto args = make_scan_args<scan_context, Args...>();
8868
150k
    auto result = vscan(SCN_FWD(source), format, args);
8869
150k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
150k
}
_ZN3scn2v34scanIJiENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8866
196k
{
8867
196k
    auto args = make_scan_args<scan_context, Args...>();
8868
196k
    auto result = vscan(SCN_FWD(source), format, args);
8869
196k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
196k
}
_ZN3scn2v34scanIJjENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8866
169k
{
8867
169k
    auto args = make_scan_args<scan_context, Args...>();
8868
169k
    auto result = vscan(SCN_FWD(source), format, args);
8869
169k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
169k
}
_ZN3scn2v34scanIJxENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8866
200k
{
8867
200k
    auto args = make_scan_args<scan_context, Args...>();
8868
200k
    auto result = vscan(SCN_FWD(source), format, args);
8869
200k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
200k
}
_ZN3scn2v34scanIJyENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8866
171k
{
8867
171k
    auto args = make_scan_args<scan_context, Args...>();
8868
171k
    auto result = vscan(SCN_FWD(source), format, args);
8869
171k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
171k
}
_ZN3scn2v34scanIJaENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8866
156k
{
8867
156k
    auto args = make_scan_args<scan_context, Args...>();
8868
156k
    auto result = vscan(SCN_FWD(source), format, args);
8869
156k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
156k
}
_ZN3scn2v34scanIJhENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8866
150k
{
8867
150k
    auto args = make_scan_args<scan_context, Args...>();
8868
150k
    auto result = vscan(SCN_FWD(source), format, args);
8869
150k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
150k
}
_ZN3scn2v34scanIJiENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8866
197k
{
8867
197k
    auto args = make_scan_args<scan_context, Args...>();
8868
197k
    auto result = vscan(SCN_FWD(source), format, args);
8869
197k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
197k
}
_ZN3scn2v34scanIJjENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8866
170k
{
8867
170k
    auto args = make_scan_args<scan_context, Args...>();
8868
170k
    auto result = vscan(SCN_FWD(source), format, args);
8869
170k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
170k
}
_ZN3scn2v34scanIJxENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8866
200k
{
8867
200k
    auto args = make_scan_args<scan_context, Args...>();
8868
200k
    auto result = vscan(SCN_FWD(source), format, args);
8869
200k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
200k
}
_ZN3scn2v34scanIJyENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8866
172k
{
8867
172k
    auto args = make_scan_args<scan_context, Args...>();
8868
172k
    auto result = vscan(SCN_FWD(source), format, args);
8869
172k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
172k
}
_ZN3scn2v34scanIJfENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8866
432k
{
8867
432k
    auto args = make_scan_args<scan_context, Args...>();
8868
432k
    auto result = vscan(SCN_FWD(source), format, args);
8869
432k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
432k
}
_ZN3scn2v34scanIJdENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8866
466k
{
8867
466k
    auto args = make_scan_args<scan_context, Args...>();
8868
466k
    auto result = vscan(SCN_FWD(source), format, args);
8869
466k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
466k
}
_ZN3scn2v34scanIJeENS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEEOSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSU_ISO_E4typeEEEE
Line
Count
Source
8866
471k
{
8867
471k
    auto args = make_scan_args<scan_context, Args...>();
8868
471k
    auto result = vscan(SCN_FWD(source), format, args);
8869
471k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
471k
}
_ZN3scn2v34scanIJfENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8866
459k
{
8867
459k
    auto args = make_scan_args<scan_context, Args...>();
8868
459k
    auto result = vscan(SCN_FWD(source), format, args);
8869
459k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
459k
}
_ZN3scn2v34scanIJdENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8866
495k
{
8867
495k
    auto args = make_scan_args<scan_context, Args...>();
8868
495k
    auto result = vscan(SCN_FWD(source), format, args);
8869
495k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
495k
}
_ZN3scn2v34scanIJeENS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEEOSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNSZ_IST_E4typeEEEE
Line
Count
Source
8866
500k
{
8867
500k
    auto args = make_scan_args<scan_context, Args...>();
8868
500k
    auto result = vscan(SCN_FWD(source), format, args);
8869
500k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
500k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEEOSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS10_ISU_E4typeEEEE
Line
Count
Source
8866
66.9k
{
8867
66.9k
    auto args = make_scan_args<scan_context, Args...>();
8868
66.9k
    auto result = vscan(SCN_FWD(source), format, args);
8869
66.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
66.9k
}
_ZN3scn2v34scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEENS0_6ranges6detail9subrange_8subrangeIPKcSC_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEJDpT_EEEEEOSH_NS0_24basic_scan_format_stringIcNSM_13type_identityISH_E4typeEJDpNSY_ISS_E4typeEEEE
Line
Count
Source
8866
66.9k
{
8867
66.9k
    auto args = make_scan_args<scan_context, Args...>();
8868
66.9k
    auto result = vscan(SCN_FWD(source), format, args);
8869
66.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
66.9k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRSE_PKSF_lLl4096EEESJ_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESS_NS0_6detail22borrowed_tail_subrangeISO_Xsr6rangesE14borrowed_rangeISO_EEE4typeEE4typeEJDpT_EEEEEOSO_NS0_24basic_scan_format_stringIcNST_13type_identityISO_E4typeEJDpNS15_ISZ_E4typeEEEE
Line
Count
Source
8866
73.9k
{
8867
73.9k
    auto args = make_scan_args<scan_context, Args...>();
8868
73.9k
    auto result = vscan(SCN_FWD(source), format, args);
8869
73.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
73.9k
}
_ZN3scn2v34scanIJcERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
8866
15.9k
{
8867
15.9k
    auto args = make_scan_args<scan_context, Args...>();
8868
15.9k
    auto result = vscan(SCN_FWD(source), format, args);
8869
15.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
15.9k
}
_ZN3scn2v34scanIJiERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
8866
15.9k
{
8867
15.9k
    auto args = make_scan_args<scan_context, Args...>();
8868
15.9k
    auto result = vscan(SCN_FWD(source), format, args);
8869
15.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
15.9k
}
_ZN3scn2v34scanIJjERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
8866
15.9k
{
8867
15.9k
    auto args = make_scan_args<scan_context, Args...>();
8868
15.9k
    auto result = vscan(SCN_FWD(source), format, args);
8869
15.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
15.9k
}
_ZN3scn2v34scanIJdERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
8866
15.9k
{
8867
15.9k
    auto args = make_scan_args<scan_context, Args...>();
8868
15.9k
    auto result = vscan(SCN_FWD(source), format, args);
8869
15.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
15.9k
}
_ZN3scn2v34scanIJbERNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
8866
15.9k
{
8867
15.9k
    auto args = make_scan_args<scan_context, Args...>();
8868
15.9k
    auto result = vscan(SCN_FWD(source), format, args);
8869
15.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
15.9k
}
_ZN3scn2v34scanIJPvERNSt3__117basic_string_viewIcNS3_11char_traitsIcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEEOSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNST_ISN_E4typeEEEE
Line
Count
Source
8866
15.9k
{
8867
15.9k
    auto args = make_scan_args<scan_context, Args...>();
8868
15.9k
    auto result = vscan(SCN_FWD(source), format, args);
8869
15.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
15.9k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEERNS2_17basic_string_viewIcS5_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESJ_NS0_6detail22borrowed_tail_subrangeISF_Xsr6rangesE14borrowed_rangeISF_EEE4typeEE4typeEJDpT_EEEEEOSF_NS0_24basic_scan_format_stringIcNSK_13type_identityISF_E4typeEJDpNSW_ISQ_E4typeEEEE
Line
Count
Source
8866
15.9k
{
8867
15.9k
    auto args = make_scan_args<scan_context, Args...>();
8868
15.9k
    auto result = vscan(SCN_FWD(source), format, args);
8869
15.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
15.9k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEERNS2_17basic_string_viewIcNS4_IcEEEEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESK_NS0_6detail22borrowed_tail_subrangeISG_Xsr6rangesE14borrowed_rangeISG_EEE4typeEE4typeEJDpT_EEEEEOSG_NS0_24basic_scan_format_stringIcNSL_13type_identityISG_E4typeEJDpNSX_ISR_E4typeEEEE
Line
Count
Source
8866
15.9k
{
8867
15.9k
    auto args = make_scan_args<scan_context, Args...>();
8868
15.9k
    auto result = vscan(SCN_FWD(source), format, args);
8869
15.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
15.9k
}
_ZN3scn2v34scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEERS6_vEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESF_NS0_6detail22borrowed_tail_subrangeISB_Xsr6rangesE14borrowed_rangeISB_EEE4typeEE4typeEJDpT_EEEEEOSB_NS0_24basic_scan_format_stringIcNSG_13type_identityISB_E4typeEJDpNSS_ISM_E4typeEEEE
Line
Count
Source
8866
15.9k
{
8867
15.9k
    auto args = make_scan_args<scan_context, Args...>();
8868
15.9k
    auto result = vscan(SCN_FWD(source), format, args);
8869
15.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8870
15.9k
}
8871
8872
/**
8873
 * `scan` with explicitly supplied default values
8874
 *
8875
 * Can be used, for example, for pre-allocating a scanned string:
8876
 *
8877
 * \code{.cpp}
8878
 * std::string str;
8879
 * str.reserve(64);
8880
 *
8881
 * // As long as the read string fits in `str`,
8882
 * // does not allocate
8883
 * auto result = scn::scan<std::string>(source, "{}",
8884
 *                                      {std::move(str)});
8885
 * // Access the read string with result->value()
8886
 * \endcode
8887
 *
8888
 * \ingroup scan
8889
 */
8890
template <typename... Args,
8891
          typename Source,
8892
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
8893
SCN_NODISCARD auto scan(Source&& source,
8894
                        scan_format_string<Source, Args...> format,
8895
                        std::tuple<Args...>&& initial_args)
8896
    -> scan_result_type<Source, Args...>
8897
{
8898
    auto args = make_scan_args<scan_context, Args...>(SCN_FWD(initial_args));
8899
    auto result = vscan(SCN_FWD(source), format, args);
8900
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8901
}
8902
8903
/**
8904
 * \defgroup locale Localization
8905
 *
8906
 * \brief Scanning APIs that allow passing in a locale
8907
 */
8908
8909
/**
8910
 * `scan` using an explicit locale.
8911
 *
8912
 * Has no effect on its own, locale-specific scanning still needs to be
8913
 * opted-into on an argument-by-argument basis, with the `L` format string
8914
 * specifier.
8915
 *
8916
 * \code{.cpp}
8917
 * auto result = scn::scan<double>(
8918
 *     std::locale{"fi_FI.UTF-8"}, "3,14, "{:L}");
8919
 * // result->value() == 3.14
8920
 * \endcode
8921
 *
8922
 * \ingroup locale
8923
 */
8924
template <typename... Args,
8925
          typename Locale,
8926
          typename Source,
8927
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>,
8928
          typename = std::void_t<decltype(Locale::classic())>>
8929
SCN_NODISCARD auto scan(const Locale& loc,
8930
                        Source&& source,
8931
                        scan_format_string<Source, Args...> format)
8932
    -> scan_result_type<Source, Args...>
8933
5.26M
{
8934
5.26M
    auto args = make_scan_args<scan_context, Args...>();
8935
5.26M
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
5.26M
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
5.26M
}
_ZN3scn2v34scanIJaENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8933
155k
{
8934
155k
    auto args = make_scan_args<scan_context, Args...>();
8935
155k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
155k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
155k
}
_ZN3scn2v34scanIJhENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8933
150k
{
8934
150k
    auto args = make_scan_args<scan_context, Args...>();
8935
150k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
150k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
150k
}
_ZN3scn2v34scanIJiENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8933
196k
{
8934
196k
    auto args = make_scan_args<scan_context, Args...>();
8935
196k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
196k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
196k
}
_ZN3scn2v34scanIJjENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8933
169k
{
8934
169k
    auto args = make_scan_args<scan_context, Args...>();
8935
169k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
169k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
169k
}
_ZN3scn2v34scanIJxENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8933
200k
{
8934
200k
    auto args = make_scan_args<scan_context, Args...>();
8935
200k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
200k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
200k
}
_ZN3scn2v34scanIJyENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8933
171k
{
8934
171k
    auto args = make_scan_args<scan_context, Args...>();
8935
171k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
171k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
171k
}
_ZN3scn2v34scanIJaENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8933
156k
{
8934
156k
    auto args = make_scan_args<scan_context, Args...>();
8935
156k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
156k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
156k
}
_ZN3scn2v34scanIJhENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8933
150k
{
8934
150k
    auto args = make_scan_args<scan_context, Args...>();
8935
150k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
150k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
150k
}
_ZN3scn2v34scanIJiENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8933
197k
{
8934
197k
    auto args = make_scan_args<scan_context, Args...>();
8935
197k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
197k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
197k
}
_ZN3scn2v34scanIJjENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8933
170k
{
8934
170k
    auto args = make_scan_args<scan_context, Args...>();
8935
170k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
170k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
170k
}
_ZN3scn2v34scanIJxENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8933
200k
{
8934
200k
    auto args = make_scan_args<scan_context, Args...>();
8935
200k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
200k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
200k
}
_ZN3scn2v34scanIJyENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8933
172k
{
8934
172k
    auto args = make_scan_args<scan_context, Args...>();
8935
172k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
172k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
172k
}
_ZN3scn2v34scanIJfENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8933
432k
{
8934
432k
    auto args = make_scan_args<scan_context, Args...>();
8935
432k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
432k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
432k
}
_ZN3scn2v34scanIJdENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8933
466k
{
8934
466k
    auto args = make_scan_args<scan_context, Args...>();
8935
466k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
466k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
466k
}
_ZN3scn2v34scanIJeENSt3__16localeENS0_6ranges6detail9subrange_8subrangeIPKcS9_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESI_NS0_6detail22borrowed_tail_subrangeISE_Xsr6rangesE14borrowed_rangeISE_EEE4typeEE4typeEJDpT_EEEEERKT0_OSE_NS0_24basic_scan_format_stringIcNSJ_13type_identityISE_E4typeEJDpNSY_ISP_E4typeEEEE
Line
Count
Source
8933
471k
{
8934
471k
    auto args = make_scan_args<scan_context, Args...>();
8935
471k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
471k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
471k
}
_ZN3scn2v34scanIJfENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8933
459k
{
8934
459k
    auto args = make_scan_args<scan_context, Args...>();
8935
459k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
459k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
459k
}
_ZN3scn2v34scanIJdENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8933
495k
{
8934
495k
    auto args = make_scan_args<scan_context, Args...>();
8935
495k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
495k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
495k
}
_ZN3scn2v34scanIJeENSt3__16localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRS9_PKSA_lLl4096EEESE_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJDpT_EEEEERKT0_OSJ_NS0_24basic_scan_format_stringIcNSO_13type_identityISJ_E4typeEJDpNS13_ISU_E4typeEEEE
Line
Count
Source
8933
500k
{
8934
500k
    auto args = make_scan_args<scan_context, Args...>();
8935
500k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
500k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
500k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS2_6localeENS0_6ranges6detail9subrange_8subrangeIPKcSF_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESO_NS0_6detail22borrowed_tail_subrangeISK_Xsr6rangesE14borrowed_rangeISK_EEE4typeEE4typeEJDpT_EEEEERKT0_OSK_NS0_24basic_scan_format_stringIcNSP_13type_identityISK_E4typeEJDpNS14_ISV_E4typeEEEE
Line
Count
Source
8933
66.9k
{
8934
66.9k
    auto args = make_scan_args<scan_context, Args...>();
8935
66.9k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
66.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
66.9k
}
_ZN3scn2v34scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEENS2_6localeENS0_6ranges6detail9subrange_8subrangeIPKcSD_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJDpT_EEEEERKT0_OSI_NS0_24basic_scan_format_stringIcNSN_13type_identityISI_E4typeEJDpNS12_IST_E4typeEEEE
Line
Count
Source
8933
66.9k
{
8934
66.9k
    auto args = make_scan_args<scan_context, Args...>();
8935
66.9k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
66.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
66.9k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS2_6localeENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRSF_PKSG_lLl4096EEESK_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEEST_NS0_6detail22borrowed_tail_subrangeISP_Xsr6rangesE14borrowed_rangeISP_EEE4typeEE4typeEJDpT_EEEEERKT0_OSP_NS0_24basic_scan_format_stringIcNSU_13type_identityISP_E4typeEJDpNS19_IS10_E4typeEEEE
Line
Count
Source
8933
73.9k
{
8934
73.9k
    auto args = make_scan_args<scan_context, Args...>();
8935
73.9k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
73.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
73.9k
}
_ZN3scn2v34scanIJcENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
8933
15.9k
{
8934
15.9k
    auto args = make_scan_args<scan_context, Args...>();
8935
15.9k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
15.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
15.9k
}
_ZN3scn2v34scanIJiENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
8933
15.9k
{
8934
15.9k
    auto args = make_scan_args<scan_context, Args...>();
8935
15.9k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
15.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
15.9k
}
_ZN3scn2v34scanIJjENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
8933
15.9k
{
8934
15.9k
    auto args = make_scan_args<scan_context, Args...>();
8935
15.9k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
15.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
15.9k
}
_ZN3scn2v34scanIJdENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
8933
15.9k
{
8934
15.9k
    auto args = make_scan_args<scan_context, Args...>();
8935
15.9k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
15.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
15.9k
}
_ZN3scn2v34scanIJbENSt3__16localeERNS2_17basic_string_viewIcNS2_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
8933
15.9k
{
8934
15.9k
    auto args = make_scan_args<scan_context, Args...>();
8935
15.9k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
15.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
15.9k
}
_ZN3scn2v34scanIJPvENSt3__16localeERNS3_17basic_string_viewIcNS3_11char_traitsIcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS3_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJDpT_EEEEERKT0_OSD_NS0_24basic_scan_format_stringIcNSI_13type_identityISD_E4typeEJDpNSX_ISO_E4typeEEEE
Line
Count
Source
8933
15.9k
{
8934
15.9k
    auto args = make_scan_args<scan_context, Args...>();
8935
15.9k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
15.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
15.9k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEENS2_6localeERNS2_17basic_string_viewIcS5_EEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESK_NS0_6detail22borrowed_tail_subrangeISG_Xsr6rangesE14borrowed_rangeISG_EEE4typeEE4typeEJDpT_EEEEERKT0_OSG_NS0_24basic_scan_format_stringIcNSL_13type_identityISG_E4typeEJDpNS10_ISR_E4typeEEEE
Line
Count
Source
8933
15.9k
{
8934
15.9k
    auto args = make_scan_args<scan_context, Args...>();
8935
15.9k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
15.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
15.9k
}
_ZN3scn2v34scanIJNSt3__112basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEENS2_6localeERNS2_17basic_string_viewIcNS4_IcEEEEvvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEJDpT_EEEEERKT0_OSH_NS0_24basic_scan_format_stringIcNSM_13type_identityISH_E4typeEJDpNS11_ISS_E4typeEEEE
Line
Count
Source
8933
15.9k
{
8934
15.9k
    auto args = make_scan_args<scan_context, Args...>();
8935
15.9k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
15.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
15.9k
}
_ZN3scn2v34scanIJNSt3__117basic_string_viewIcNS2_11char_traitsIcEEEEENS2_6localeERS6_vvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT1_EEP8_IO_FILEEESG_NS0_6detail22borrowed_tail_subrangeISC_Xsr6rangesE14borrowed_rangeISC_EEE4typeEE4typeEJDpT_EEEEERKT0_OSC_NS0_24basic_scan_format_stringIcNSH_13type_identityISC_E4typeEJDpNSW_ISN_E4typeEEEE
Line
Count
Source
8933
15.9k
{
8934
15.9k
    auto args = make_scan_args<scan_context, Args...>();
8935
15.9k
    auto result = vscan(loc, SCN_FWD(source), format, args);
8936
15.9k
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8937
15.9k
}
8938
8939
/**
8940
 * `scan` with a locale and default values
8941
 *
8942
 * \ingroup locale
8943
 */
8944
template <typename... Args,
8945
          typename Locale,
8946
          typename Source,
8947
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>,
8948
          typename = std::void_t<decltype(Locale::classic())>>
8949
SCN_NODISCARD auto scan(const Locale& loc,
8950
                        Source&& source,
8951
                        scan_format_string<Source, Args...> format,
8952
                        std::tuple<Args...>&& initial_args)
8953
    -> scan_result_type<Source, Args...>
8954
{
8955
    auto args = make_scan_args<scan_context, Args...>(SCN_FWD(initial_args));
8956
    auto result = vscan(loc, SCN_FWD(source), format, args);
8957
    return make_scan_result(SCN_MOVE(result), SCN_MOVE(args.args()));
8958
}
8959
8960
/**
8961
 * `scan` a single value, with default options.
8962
 *
8963
 * Essentially equivalent to: `scn::scan<T>(source, "{}")`,
8964
 * except it can skip parsing the format string, gaining performance.
8965
 *
8966
 * \ingroup scan
8967
 */
8968
template <typename T,
8969
          typename Source,
8970
          typename = std::enable_if_t<detail::is_file_or_narrow_range<Source>>>
8971
SCN_NODISCARD auto scan_value(Source&& source) -> scan_result_type<Source, T>
8972
1.02M
{
8973
1.02M
    T value;
8974
1.02M
    auto arg = detail::make_arg<scan_context>(value);
8975
1.02M
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8976
971k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8977
1.02M
}
_ZN3scn2v310scan_valueIaNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8972
26.2k
{
8973
26.2k
    T value;
8974
26.2k
    auto arg = detail::make_arg<scan_context>(value);
8975
26.2k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8976
24.3k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8977
26.2k
}
_ZN3scn2v310scan_valueIhNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8972
23.3k
{
8973
23.3k
    T value;
8974
23.3k
    auto arg = detail::make_arg<scan_context>(value);
8975
23.3k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8976
21.3k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8977
23.3k
}
_ZN3scn2v310scan_valueIiNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8972
30.3k
{
8973
30.3k
    T value;
8974
30.3k
    auto arg = detail::make_arg<scan_context>(value);
8975
30.3k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8976
28.4k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8977
30.3k
}
_ZN3scn2v310scan_valueIjNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8972
26.0k
{
8973
26.0k
    T value;
8974
26.0k
    auto arg = detail::make_arg<scan_context>(value);
8975
26.0k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8976
24.0k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8977
26.0k
}
_ZN3scn2v310scan_valueIxNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8972
30.9k
{
8973
30.9k
    T value;
8974
30.9k
    auto arg = detail::make_arg<scan_context>(value);
8975
30.9k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8976
29.0k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8977
30.9k
}
_ZN3scn2v310scan_valueIyNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8972
26.3k
{
8973
26.3k
    T value;
8974
26.3k
    auto arg = detail::make_arg<scan_context>(value);
8975
26.3k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8976
24.4k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8977
26.3k
}
_ZN3scn2v310scan_valueIaNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8972
26.2k
{
8973
26.2k
    T value;
8974
26.2k
    auto arg = detail::make_arg<scan_context>(value);
8975
26.2k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8976
24.2k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8977
26.2k
}
_ZN3scn2v310scan_valueIhNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8972
23.2k
{
8973
23.2k
    T value;
8974
23.2k
    auto arg = detail::make_arg<scan_context>(value);
8975
23.2k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8976
21.3k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8977
23.2k
}
_ZN3scn2v310scan_valueIiNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8972
29.8k
{
8973
29.8k
    T value;
8974
29.8k
    auto arg = detail::make_arg<scan_context>(value);
8975
29.8k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8976
27.8k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8977
29.8k
}
_ZN3scn2v310scan_valueIjNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8972
25.9k
{
8973
25.9k
    T value;
8974
25.9k
    auto arg = detail::make_arg<scan_context>(value);
8975
25.9k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8976
24.0k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8977
25.9k
}
_ZN3scn2v310scan_valueIxNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8972
30.3k
{
8973
30.3k
    T value;
8974
30.3k
    auto arg = detail::make_arg<scan_context>(value);
8975
30.3k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8976
28.4k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8977
30.3k
}
_ZN3scn2v310scan_valueIyNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8972
26.2k
{
8973
26.2k
    T value;
8974
26.2k
    auto arg = detail::make_arg<scan_context>(value);
8975
26.2k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8976
24.3k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8977
26.2k
}
_ZN3scn2v310scan_valueIfNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8972
94.2k
{
8973
94.2k
    T value;
8974
94.2k
    auto arg = detail::make_arg<scan_context>(value);
8975
94.2k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8976
90.0k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8977
94.2k
}
_ZN3scn2v310scan_valueIdNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8972
104k
{
8973
104k
    T value;
8974
104k
    auto arg = detail::make_arg<scan_context>(value);
8975
104k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8976
99.8k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8977
104k
}
_ZN3scn2v310scan_valueIeNS0_6ranges6detail9subrange_8subrangeIPKcS7_EEvEENS0_13scan_expectedINS0_11scan_resultINSt3__111conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESH_NS0_6detail22borrowed_tail_subrangeISD_Xsr6rangesE14borrowed_rangeISD_EEE4typeEE4typeEJT_EEEEEOSD_
Line
Count
Source
8972
105k
{
8973
105k
    T value;
8974
105k
    auto arg = detail::make_arg<scan_context>(value);
8975
105k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8976
101k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8977
105k
}
_ZN3scn2v310scan_valueIfNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8972
92.6k
{
8973
92.6k
    T value;
8974
92.6k
    auto arg = detail::make_arg<scan_context>(value);
8975
92.6k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8976
88.5k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8977
92.6k
}
_ZN3scn2v310scan_valueIdNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8972
102k
{
8973
102k
    T value;
8974
102k
    auto arg = detail::make_arg<scan_context>(value);
8975
102k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8976
97.8k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8977
102k
}
_ZN3scn2v310scan_valueIeNS0_6ranges6detail9subrange_8subrangeINSt3__116__deque_iteratorIcPKcRS8_PKS9_lLl4096EEESD_EEvEENS0_13scan_expectedINS0_11scan_resultINS6_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESM_NS0_6detail22borrowed_tail_subrangeISI_Xsr6rangesE14borrowed_rangeISI_EEE4typeEE4typeEJT_EEEEEOSI_
Line
Count
Source
8972
103k
{
8973
103k
    T value;
8974
103k
    auto arg = detail::make_arg<scan_context>(value);
8975
103k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8976
98.9k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8977
103k
}
_ZN3scn2v310scan_valueINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS0_6ranges6detail9subrange_8subrangeIPKcSE_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESN_NS0_6detail22borrowed_tail_subrangeISJ_Xsr6rangesE14borrowed_rangeISJ_EEE4typeEE4typeEJT_EEEEEOSJ_
Line
Count
Source
8972
30.9k
{
8973
30.9k
    T value;
8974
30.9k
    auto arg = detail::make_arg<scan_context>(value);
8975
30.9k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8976
29.8k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8977
30.9k
}
_ZN3scn2v310scan_valueINSt3__117basic_string_viewIcNS2_11char_traitsIcEEEENS0_6ranges6detail9subrange_8subrangeIPKcSC_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESL_NS0_6detail22borrowed_tail_subrangeISH_Xsr6rangesE14borrowed_rangeISH_EEE4typeEE4typeEJT_EEEEEOSH_
Line
Count
Source
8972
30.9k
{
8973
30.9k
    T value;
8974
30.9k
    auto arg = detail::make_arg<scan_context>(value);
8975
30.9k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8976
29.8k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8977
30.9k
}
_ZN3scn2v310scan_valueINSt3__112basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEENS0_6ranges6detail9subrange_8subrangeINS2_16__deque_iteratorIcPKcRSE_PKSF_lLl4096EEESJ_EEvEENS0_13scan_expectedINS0_11scan_resultINS2_11conditionalIXsr3stdE9is_same_vIu11__remove_cvIu20__remove_reference_tIT0_EEP8_IO_FILEEESS_NS0_6detail22borrowed_tail_subrangeISO_Xsr6rangesE14borrowed_rangeISO_EEE4typeEE4typeEJT_EEEEEOSO_
Line
Count
Source
8972
34.2k
{
8973
34.2k
    T value;
8974
34.2k
    auto arg = detail::make_arg<scan_context>(value);
8975
34.2k
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8976
33.1k
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(value)}};
8977
34.2k
}
8978
8979
/**
8980
 * `scan` a single value, with default options, and a default value.
8981
 *
8982
 * \ingroup scan
8983
 */
8984
template <typename T,
8985
          typename Source,
8986
          std::enable_if_t<detail::is_file_or_narrow_range<Source>>* = nullptr>
8987
SCN_NODISCARD auto scan_value(Source&& source, T initial_value)
8988
    -> scan_result_type<Source, T>
8989
{
8990
    auto arg = detail::make_arg<scan_context>(initial_value);
8991
    SCN_TRY(it, vscan_value(SCN_FWD(source), arg));
8992
    return scan_result{SCN_MOVE(it), std::tuple{SCN_MOVE(initial_value)}};
8993
}
8994
8995
/**
8996
 * Scan from `stdin`.
8997
 *
8998
 * Equivalent to `scn::scan<...>(stdin, ...)`.
8999
 *
9000
 * \code{.cpp}
9001
 * auto result = scn::input<int>("{}");
9002
 * \endcode
9003
 *
9004
 * \ingroup scan
9005
 */
9006
template <typename... Args>
9007
SCN_NODISCARD auto input(scan_format_string<std::FILE*, Args...> format)
9008
    -> scan_result_type<std::FILE*, Args...>
9009
{
9010
    auto args = make_scan_args<scan_context, Args...>();
9011
    auto err = vinput(format, args);
9012
    if (SCN_UNLIKELY(!err)) {
9013
        return unexpected(err);
9014
    }
9015
    return scan_result{stdin, SCN_MOVE(args.args())};
9016
}
9017
9018
/**
9019
 * Write msg to stdout, and call `input<Args...>(format)`
9020
 *
9021
 * \ingroup scan
9022
 */
9023
template <typename... Args>
9024
SCN_NODISCARD auto prompt(const char* msg,
9025
                          scan_format_string<std::FILE*, Args...> format)
9026
    -> scan_result_type<std::FILE*, Args...>
9027
{
9028
    std::printf("%s", msg);
9029
    std::fflush(stdout);
9030
    return input<Args...>(format);
9031
}
9032
9033
namespace detail {
9034
template <typename T>
9035
inline constexpr bool is_scan_int_type =
9036
    std::is_integral_v<T> && !std::is_same_v<T, char> &&
9037
    !std::is_same_v<T, wchar_t> && !std::is_same_v<T, char32_t> &&
9038
    !std::is_same_v<T, bool>;
9039
}
9040
9041
/**
9042
 * Fast integer reading.
9043
 *
9044
 * Quickly reads an integer from a `std::string_view`. Skips preceding
9045
 * whitespace.
9046
 *
9047
 * Reads in the specified base,
9048
 * allowing a base prefix. Set `base` to `0` to detect the base from the
9049
 * input. `base` must either be `0`, or in range `[2, 36]`.
9050
 *
9051
 * \ingroup scan
9052
 */
9053
template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr>
9054
SCN_NODISCARD auto scan_int(std::string_view source, int base = 10)
9055
    -> scan_result_type<std::string_view, T>
9056
{
9057
    T value{};
9058
    SCN_TRY(it, detail::scan_int_impl(source, value, base));
9059
    return scan_result{ranges::subrange{it, source.end()}, std::tuple{value}};
9060
}
9061
9062
namespace detail {
9063
template <bool Val, typename T>
9064
inline constexpr bool dependent_bool = Val;
9065
}
9066
9067
/**
9068
 * Very fast integer reading.
9069
 *
9070
 * Quickly reads an integer from a `std::string_view`.
9071
 *
9072
 * Be very careful when using this one!
9073
 * Its speed comes from some very heavy assumptions about the validity of
9074
 * the input:
9075
 *  - `source` must not be empty.
9076
 *  - `source` contains nothing but the integer: no leading or trailing
9077
 *    whitespace, no extra junk. Leading `-` is allowed for signed types,
9078
 *    no `+` is allowed.
9079
 *  - The parsed value does not overflow.
9080
 *  - The input is a valid base-10 integer.
9081
 * Breaking these assumptions will lead to UB.
9082
 *
9083
 * \ingroup scan
9084
 */
9085
template <typename T, std::enable_if_t<detail::is_scan_int_type<T>>* = nullptr>
9086
SCN_NODISCARD auto scan_int_exhaustive_valid(std::string_view source) -> T
9087
{
9088
    static_assert(
9089
        detail::dependent_bool<!SCN_IS_BIG_ENDIAN, T>,
9090
        "scan_int_exhaustive_valid requires a little endian environment");
9091
    return detail::scan_int_exhaustive_valid_impl<T>(source);
9092
}
9093
9094
SCN_END_NAMESPACE
9095
}  // namespace scn